iOS逆向工具學習之class-dump安裝與使用

weixin_33866037發表於2017-08-31

一、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)

    5261964-7e83b85a462c32a1.png
    • (2)開啟終端執行sudo chmod 777 /usr/local/bin/class-dump命令賦予其執行許可權。(如果有密碼輸入密碼)
    • (3)開啟終端輸入class-dump回車,安裝成功如下圖
    5261964-32bc066d0ec4a420.png
    如果顯示失敗 系統偏好設定=>安全性與隱私=>檢視一下是否允許開啟
    是不是很簡單呢[偷笑]

  • 安裝成功之後來做一個小測試
    • (1)新建一個測試工程,新建一個類TestClassDumpViewController

    5261964-32e48b94f1efd78c.png
    • (2)快捷鍵 command+b Build下,然後目錄Products下生成了app包,如圖所示:
    5261964-bbc8525bc43f0a92.png
    • (3)點選Show in Finder,把CTest複製到桌面(這裡複製是為了路徑方便)
    • (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出來的標頭檔案了。
    5261964-fa4717e9d273f5e5.png

• class-dump雖然很有用,但是並不會將所有的宣告方法匯出來,比如只宣告,未實現的方法。
class-dump不能直接將AppStore上下載的app的標頭檔案匯出來,你只會匯出CDStructures.h這個標頭檔案,而這裡邊基本是沒有資訊的。因為從 App Store 下載的 App 都是經過簽名加密的,相當於Apple在app可執行檔案上加了一層殼,必須通過砸殼才可以。

相關文章