虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈。此文想以实际例子出发,告诉大家,如何去反编译一个app,并且从某个角度来说,iOS没有传说中的“安全”。
这里只最简单的结论给大家,具体原理以及工具的详细使用,请各位自行Google,为什么这么做呢,因为我想用最简单的语言,让没有汇编基础的同学也能明白。
将用以下几个方面来阐述我的观点:
iOS app可以“有条件”地被反编译
脱掉App Store给“二级制文件”穿上的外衣
如何利用工具去反编译
在感兴趣的地方生成伪代码
如何预防反编译
iOS app可以“有条件”地被反编译
首先,告诉大家一个不幸的消息,上架至App Store的app,被apple加密了。所以标题才是“有条件”才能进行反编译,令人欣喜的是,在debug下产生的ipa或者是release下的ipa包或者是渠道包(各种应用市场能下的ipa包)都能直接反编译。
脱掉App Store给“二级制文件”穿上的外衣
当然,引言已经说了,道高一尺魔高一丈,就算是被apple加密的ipa,其实也是可以反编译的,只不过相对麻烦罢了。
来来来,给你们几个工具,就可以解掉apple的加密了。
clutch
dumpdecrypted
gdb
AppCrackr
由于AppCrackr被很多开发者吐槽,这个傻瓜式的解密会严重导致盗版泛滥,所以这个工具已经很不好用了。