逆向基礎(chǔ)知識(shí)及工具

最近很多人上來(lái)就讓我教他們?nèi)绾纹平?如何做 一個(gè)黑客,讓我一時(shí)無(wú)所適從,不知道如何回答.希望寫(xiě)這篇文章可以勸退一些頭腦發(fā)熱一心想做黑客的人. 沒(méi)有做過(guò)正向開(kāi)發(fā)的人,很難做逆向開(kāi)發(fā),因?yàn)槟嫦蚧臼遣麻_(kāi)發(fā)者正向開(kāi)發(fā),你不知道正向思路,怎么做逆向呢,所以這里先列舉一些逆向開(kāi)發(fā)所需要的知識(shí)和工具,如果這些基礎(chǔ)的東西你都大概了解或者明白了,接著我們?cè)僮瞿嫦蚱平?


逆向基礎(chǔ)知識(shí)

  • 有iOS編程基礎(chǔ)

    • 最好開(kāi)發(fā)過(guò)幾個(gè)真正的項(xiàng)目,真正的被現(xiàn)實(shí)捶打過(guò)
  • 了解iOS的運(yùn)行原理

    • 比如Runtime等
  • 有C/C++的語(yǔ)法基礎(chǔ)

    • 這點(diǎn)大學(xué)里面一般都學(xué)習(xí)過(guò)C++,忘記了可以翻出來(lái)當(dāng)時(shí)的書(shū)看看,雖然晦澀難懂,也不需要你全部記住

逆向工具

按照逆向的步驟我們一步一步看需要什么樣的工具:

  • 砸殼工具 dumpdecrypted

    砸殼工具,正常情況下我們?cè)贏pp Store下載的ipa都是加密過(guò)的,無(wú)法直接操作.所以需要一個(gè)砸殼的過(guò)程,dumpdecrypted其原理是讓app預(yù)先加載一個(gè)解密的dumpdecrypted.dylib,然后在程序運(yùn)行后,將代碼動(dòng)態(tài)解密,最后在內(nèi)存中dump出來(lái)整個(gè)程序.實(shí)際上各種XX助手之類的應(yīng)用都有砸殼好的越獄應(yīng)用,不需要自己動(dòng)手.

  • 界面分析工具 Cycript、Reveal

    Reveal能夠?qū)pp界面的視圖層次結(jié)構(gòu)實(shí)時(shí)的展示出來(lái),以便于調(diào)試分析,也就是你想hook別人的東西,你需要?jiǎng)e人家里的布局.這個(gè)工具是收費(fèi)的,30天免費(fèi)試用.

    Screen shot of Reveal
  • 代碼分析工具 MachOView、class-dump、Hopper Disassembler、ida

    知道了別人家的布局,就需要知道別人家的東西內(nèi)部放了哪些東西,這些工具可以看到內(nèi)部的class和方法名,變量等

    MachOView 如何用請(qǐng)百度或者直接點(diǎn)擊鏈接看github官方說(shuō)明

image.png

class-dump顧名思義,它的作用就是把Mach-O文件的class信息給dump出來(lái)(把類信息給導(dǎo)出來(lái)),生成對(duì)應(yīng)的.h頭文件,和MachOView功能類似.

  • 動(dòng)態(tài)調(diào)試 LLDB

  • 代碼編寫(xiě)
    iOSOpenDev
    這個(gè)東西挺難安裝的,我安裝失敗了無(wú)數(shù)次,哪一步成功了,也忘記了.

    image.png

  • 動(dòng)態(tài)庫(kù)注入及簽名工具

    動(dòng)態(tài)庫(kù)注入就用我在開(kāi)源基礎(chǔ)上改的一個(gè)吧. 下載地址

    image.png

每一個(gè)步驟和環(huán)境都是看似簡(jiǎn)單,實(shí)際上無(wú)數(shù)個(gè)坑,工具的安裝和使用請(qǐng)自行百度,這里僅僅提供一下介紹,今天太累了,改天繼續(xù)寫(xiě).

參考
http://www.itdecent.cn/p/0a03c477c637
https://pandara.xyz/2016/08/14/fake_wechat_location2/
https://gitee.com/dongdongxiaotaozi/iOSAppHook

最后編輯于
?著作權(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ù)。

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