2009-11-13 44 views
12

有没有什么方法来混淆Objective-C代码?Objective-C代码混淆

由于

+6

这个问题没有动词。 – 2009-11-13 05:40:22

+5

我认为Biranchi无意中有一个问题。 – 2009-11-13 05:48:20

+0

你的目标是什么? – nall 2009-11-13 06:07:09

回答

3

目的c是C的一个直的超集,因此,所有的正常的C混淆技术工作。然而,如果你想使用可可,你会遇到一些障碍,因为方法名称是相当自我记录的。

对于您自己的方法,您只需自行记录方法不正确。例如

-(void) doSomethingInnocent:(BOOL)animated withObject:passwords; 

时,你通常会采写:

-(void) sendObjectToMyServer:(BOOL)coverupAnimation; 
+2

一开始。但仍然没有多大帮助。 – bbum 2010-04-30 17:28:42

+3

你的意思是* super *设置 – Richard 2011-01-05 15:19:44

5

的选择仍然是明文 - 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 
+1

你包含的命令字符串是做什么的? – 2015-04-14 22:59:16