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