iOS逆向工程之class-dump


class-dump是逆向工程中的利器,用來dump目標對象的class信息工具。它利用Object-C語言的runtime特性,將存儲在Mach-O文件中的@interface和@protocol信息提取出來,并生成對應(yīng)的.h文件。

在安裝和使用過程中,遇到了兩個問題,將原因和解決辦法分享一下。

問題1:class-dump無法拖入/usr/bin目錄

原因:Mac當前系統(tǒng)為Mac OS X 10.11 El Capitan,對于Mac OS X 10.11 El Capitan用戶,由于系統(tǒng)啟用了SIP(System Integrity Protection), 導(dǎo)致root用戶也沒有權(quán)限修改/usr/bin目錄。
解決辦法:重啟Mac,按住command+R,進入recovery模式。選擇打開Utilities下的終端,輸入:csrutil disable并回車,然后正常重啟Mac即可。

問題2:class-dump -H時報Error: Cannot find offset for address 0x580000000100bcd8 in stringAtAddress: 錯誤

錯誤截圖

原因http://bbs.iosre.com/t/xue-xi-yong-dumpdecryptedgei-appza-ke-suo-yu-dao-de-wen-ti/813 我在iosre看到一篇帖子說是項目中可能用到了swift,后來經(jīng)過證實,該項目確實是用OC和Swift混編。class-dump是利用Object-C語言的runtime特性,提取頭文件,因此我認為應(yīng)該是這個原因。大家如果有不同見解,望告知。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容