一、class-dump
首先謝謝博客主 (http://www.cnblogs.com/hepeilin/p/3847713.html) 的博客講解的很詳細
作用:用于在Objective-C的運行時特性中,檢查存儲在Mach-O文件中的信息,把未經加密的app的頭文件導出來生成對應的 .h 文件。
-
安裝class-dump 下載地址
? (1)點擊下載解壓后會有class-dump和源碼文件如下圖所示把class-dump復制到/usr/local/bin
目錄下(前往快捷鍵command+shift+g)
sudo chmod 777 /usr/local/bin/class-dump
命令賦予其執行權限。(如果有密碼輸入密碼)
? (3)打開終端輸入class-dump
回車,安裝成功如下圖
是不是很簡單呢[偷笑] -
安裝成功之后來做一個小測試
? (1)新建一個測試工程,新建一個類TestClassDumpViewController
? (4)打開終端輸入class-dump -H /Users/sdny/Desktop/CTest.app -o /Users/sdny/Desktop/TestHeads
(注意:class-dump -H 后面輸入的/Users/sdny/Desktop/CTest.app
是你要檢索的app的路徑,這里寫上你要檢索的app的路徑就可以。而 -o 后面的/Users/sdny/Desktop/TestHeads
路徑就是存放dump出來的文件夾路徑,本人放在桌面上了,這里寫上你要放置的路徑就可以)寫好之后敲回車如下圖所示桌面多出來一個TestHeads文件夾(圖左),打開文件夾可以看到我們dump出來的頭文件了。
? class-dump雖然很有用,但是并不會將所有的聲明方法導出來,比如只聲明,未實現的方法。
class-dump不能直接將AppStore上下載的app的頭文件導出來,你只會導出CDStructures.h這個頭文件,而這里邊基本是沒有信息的。因為從 App Store 下載的 App 都是經過簽名加密的,相當于Apple在app可執行文件上加了一層殼,必須通過砸殼才可以。