有没有办法混淆Objective-C代码?
谢谢
发布于 2010-12-13 02:30:25
选择器仍然是纯文本的-- otool -o会转储你所有的对象和它们定义的方法。您还可以使用下面的一行代码转储所有在代码中访问的内部和外部选择器。在源代码级别混淆方法和参数名称可能是最简单的,尽管在对象级别进行混淆也会以一种独立于语言的方式进行混淆,代价是某些链接器表操作。
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发布于 2009-11-13 13:45:27
目标C是C的直接超集,因此所有正常的C混淆技术都有效。但是,如果您想使用cocoa,您将会遇到一些障碍,因为方法名称是完全自我说明的。
对于您自己的方法,您只需错误地自行记录这些方法即可。例如:
-(void) doSomethingInnocent:(BOOL)animated withObject:passwords;当你通常会写下:
-(void) sendObjectToMyServer:(BOOL)coverupAnimation;https://stackoverflow.com/questions/1727327
复制相似问题