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啦,但是就像下面一樣能看清方法的名字,方法的具體實現我實在看不懂啊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM