在破解iOS应用的过程中,需要经常使用 otool 开获取程序本身的信息(比如:是否启用了PIE),获取加密信息,
但是CLI的程序在直观性上还是不如GUI的,
下面描述使用MachOView来查看到相关信息。
1、加载可执行文件。
运行 MachOView 后,会提示选择文件,选择将要分析的文件,
会在后台进行分析,等待分析完毕,如下图:
2、插件头信息。
在左侧窗口点击“Mach Header”,如下图:
则右侧窗口中会显示出头信息,如下图:
可以看到这个程序没有 PIE。
3、查看加密信息。
在左侧窗口展开“Load Commands”,并选中“LC_ENCRYPTION_INFO”,如下图:
则右侧窗口显示对应的加密信息,如下图:
可以看到加密的偏移地址为:8192 = 0x2000
加密块的大小为:21749760 = 0x14BE000
由于没有启用 PIE,基地址固定为:0x1000
因此使用 GDB dump 加密数据的起始地址为:(0x1000+0x2000=0x3000)~(0x1000+0x2000+0x14BE000=0x14C1000)
4、修改加密标志。
将程序的加密数据替换掉后,还需要修改加密的标志,
很多文章中描述修改“加密标志”的方法为:从某个地方开始向前找“1”,不够精确。
而MachOView会给出“加密标志”在文件中的地址,如下图:
可以看到“加密标志”的偏移地址为:0xABC。
使用十六进制编辑器(比如:0xED)打开文件,并定位到地址“0xABC”, 如下图:
然后修改对应的值(1--->0),如下图:
OK,Done。
另,MachOView 下载地址:http://download.csdn.net/detail/proteas/5828827