- 在
iOS
开发中,我们的代码是怎么编译成Mach-O
文件的? - 从下面的图我们可以看出,它是从
OC -> 汇编 -> 机器语言
这么一个步骤编译过去的,那能不能进行反编译回来呢?因为我们是能拿到Mach-O
文件的,答案是:能反编译到汇编阶段
,但是无法100%
从汇编阶段
到OC
。 - 因为从
OC
到汇编
,不同的OC
代码,编译出来的汇编代码可能是一样的,所以也就无法100%
从汇编
反编译为OC
。 - 既然无法
100%
还原,但是大概50%-60%
还是可以的,只能用来看看大概,下章会写到Hopper Disassmbler
这个工具,它能够将Mach-O
文件的机器语言
代码反编译成汇编代码
、OC伪代码
或者Swift代码
。