一、下載並安裝class-dump 下載class-dump-3.5.dmg 點擊下載 下載完成以後雙擊.dmg的文件,將裡面的class-dump拷貝到/usr/local/bin 設置許可權chmod 777 /usr/local/bin/class-dump 在控制台輸入class-dump,顯 ...
一、下載並安裝class-dump
下載class-dump-3.5.dmg 點擊下載
下載完成以後雙擊.dmg的文件,將裡面的class-dump拷貝到/usr/local/bin
設置許可權chmod 777 /usr/local/bin/class-dump
在控制台輸入class-dump,顯示如下表示配置成功
二、反編譯.framework文件
我們以解析MobileCoreServices.framework為例,在控制台輸入
class-dump -H -o /Users/wuyong/Desktop/未命名文件夾 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/MobileCoreServices.framework
-H命令代表著要解析的文件,-o表示解析完成保存的目錄
註意如果framework的文件不是模擬器iPhoneSimulator.platform內的文件,而是iPhoneOS.platform將會報錯
Input file (XXX) doesn't contain an executable.
三、反編譯.app文件
我們反編譯一下自己mac上的app,以我們電腦上的備忘錄為例子
class-dump -H /Applications/Notes.app -o /Users/wuyong/Desktop/未命名文件夾
記住不要直接編譯.ipa的文件否則會報錯,
Input file (XXX) is neither a Mach-O file nor a fat archive.
四、反編譯ipa的文件
ipa的文件不能直接被反編譯
首先右鍵ipa的文件,選擇打開方式,用解壓工具UnRAR或者其他的能解壓.rar的工具解壓
解壓後得到.app的文件最重要,-H後面的就是.app文件的目錄,在控制台運行下麵的命令,就能得到ipa文件裡面的所有的頭文件
class-dump -H XXX.app -o /Users/wuyong/Desktop/未命名文件夾
五、Hopper Disassembler反編譯ipa文件
Hopper Disassembler和IDA都是很強大的反編譯的工具,雖然能反編譯出.h和.m的文件,但是編譯出來的是彙編語言,我反正是看不懂彙編啦
Hopper Disassembler操作很簡單
安裝Hopper Disassembler完成以後,把壓縮出來的.app的文件拖進去就OK啦,但是就像下麵一樣能看清方法的名字,方法的具體實現我實在看不懂啊