在破解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