首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C代码混淆

Objective-C代码混淆
EN

Stack Overflow用户
提问于 2009-11-13 13:37:28
回答 2查看 8.2K关注 0票数 12

有没有办法混淆Objective-C代码?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2010-12-13 02:30:25

选择器仍然是纯文本的-- otool -o会转储你所有的对象和它们定义的方法。您还可以使用下面的一行代码转储所有在代码中访问的内部和外部选择器。在源代码级别混淆方法和参数名称可能是最简单的,尽管在对象级别进行混淆也会以一种独立于语言的方式进行混淆,代价是某些链接器表操作。

代码语言:javascript
复制
otool -s __TEXT __objc_methname yourapp.app/executable_file |expand -8 | cut -c17- | sed -n '3,$p' | perl -n -e 'print join("\n",split(/\x00/,scalar reverse (reverse unpack("(a4)*",pack("(H8)*",split(/\s/,$_))))))'|less
票数 6
EN

Stack Overflow用户

发布于 2009-11-13 13:45:27

目标C是C的直接超集,因此所有正常的C混淆技术都有效。但是,如果您想使用cocoa,您将会遇到一些障碍,因为方法名称是完全自我说明的。

对于您自己的方法,您只需错误地自行记录这些方法即可。例如:

代码语言:javascript
复制
-(void) doSomethingInnocent:(BOOL)animated withObject:passwords;

当你通常会写下:

代码语言:javascript
复制
-(void) sendObjectToMyServer:(BOOL)coverupAnimation;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1727327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档