iOS逆向工程-----class-dump

俺要開(kāi)始學(xué)習(xí)逆向工程啦,逆向工程對(duì)AppStore開(kāi)發(fā)者的幫助啥啥的就不說(shuō)了,你想拿來(lái)干嘛這些都不說(shuō)了,寫(xiě)一篇文章記錄下學(xué)習(xí)過(guò)程。今天先來(lái)說(shuō)說(shuō)逆向工程工具----class-dump
class-dump利用runtime的特性來(lái)dump出工程的class信息,也就是還原出.h文件。

安裝

你需要到http://stevenygard.com/projects/class-dum 下載最新的class-dump,運(yùn)行dmg文件后,你需要將class-dump復(fù)制到'/usr/bin'目錄下。
我將class-dump復(fù)制到了桌面上,所以我打開(kāi)命令行,執(zhí)行以下命令:

sudo cp /Users/xlx/Desktop/class-dump '/usr/bin'

原本以為這樣就可以了,偏偏終端提醒我“該操作不允許”··········
然后我就百度咯(請(qǐng)?jiān)徫也坏饺f(wàn)不得已不使用Google),原來(lái)OS X 10.11 加入了Rootless,也就是就算你是root那也不允許對(duì)bin文件夾進(jìn)行操作,這其實(shí)對(duì)系統(tǒng)的安全性有了很大的提升,但是同樣的對(duì)許多合法軟件也造成了很大的限制,所以我們必須關(guān)閉Rootless。
關(guān)閉ROOTLESS

重啟你的電腦,開(kāi)機(jī)過(guò)程中按住command+r進(jìn)入恢復(fù)模式,在恢復(fù)模式中打開(kāi)終端,執(zhí)行命令csrutil disable,這樣你就關(guān)閉了 rootless,同樣你如果想要重新打開(kāi)的話只需要執(zhí)行命令csrutil enable,再次重啟你的電腦,重新執(zhí)行命令:

sudo cp /Users/xlx/Desktop/class-dump '/usr/bin'

你終于將class-dump復(fù)制到了‘usr/bin’目錄下。然后你需要給class-dump操作權(quán)限,執(zhí)行命令

sudo chmod 777 /usr/bin/class-dump

雙擊你的class-dump,你可以看到執(zhí)行成功等字樣和一些class-dump的基本參數(shù)。

使用class-dump

我們來(lái)試驗(yàn)一下class-dump,你需要一個(gè)app可執(zhí)行文件來(lái)作為實(shí)驗(yàn),你可以用你自己的工程來(lái)導(dǎo)出一個(gè)ipa文件(如何導(dǎo)出ipa文件請(qǐng)自行查詢),將ipa文件后綴改為‘zip’以后你可以直接解壓這個(gè)ipa文件(現(xiàn)在已經(jīng)是一個(gè)zip文件了),在解壓后的文件夾里就包括了app執(zhí)行文件。(如果你有工程文件的話,工程里是包括了可執(zhí)行文件的)
你需要在Terminal中找到你的可執(zhí)行文件并進(jìn)入他,我的可執(zhí)行文件叫做“EBusiness.app”,所以我是這樣操作的:

進(jìn)入可執(zhí)行文件以后你就可以利用class-dump來(lái)解析他了,你可以將解析后的頭文件放置到你想放置的地方,我講解析后的頭文件放到了桌面上的Ebusiness文件及,所以我是這樣操作的:


執(zhí)行完命令以后,我們找到你剛才輸出的文件夾,果然我們發(fā)現(xiàn)了密密麻麻的許多頭文件,我打開(kāi)了其中一個(gè)來(lái)和原本的文件進(jìn)行比較,這是比較結(jié)果:

我們可以看到并沒(méi)有太大的區(qū)別,class-dump逆向出了所有的屬性和方法,只不過(guò)方法的參數(shù)名稱變成了arg1、arg2,但是這個(gè)對(duì)我們并沒(méi)有什么太大的影響。
我們使用的可執(zhí)行文件是我們自己用自己的工程生成的,但是從appstore下載下來(lái)的app是通過(guò)加密的,class-dump并不能直接處理這樣的文件。

我學(xué)習(xí)參考的書(shū)籍《iOS 應(yīng)用逆向工程》
我的主頁(yè):http://www.strongx.cn

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

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

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