一、摘要
本文主要介紹逆向所用到工具,包括:UI分析Reveal,頭檔案匯出class-dump,.m檔案查看Hopper Disassembler,查看Mach-O檔案結構指令工具otool、可視化工具MachOView
二、Reveal
? Mac安裝:https://pan.baidu.com/s/1lz9lwTKXD9bS8DnvT9gkBQ 提取密碼:b31u
? iOS端安裝:Cydia上搜索“reveal”,選擇“Reveal2Loader”并安裝,再重啟SpringBoard
1. 重啟SpringBoard;

2. 打開需要除錯的app;

? 覆寫iOS端的RevealServer檔案
1. 找到Mac上的“RevealServer”檔案;


2. 找到iOS設備上的“RevealServer”檔案;

說明:如果沒有“RHRevealLoader”檔案夾,可手動創建;
3. 重啟SpringBoard;
? 使用: iOS端打開app,Mac打開Reveal

說明:如果網路不好,WiFi模式比USB模式會很卡;

說明:
1>該軟體只能查看view視圖層級結構,無法看vc層級結構; 2>若要查看vc層級結構,可利用mjcript.cy庫中的MJChildVcs()方法來查看; 3>若無法查看,則先重啟app,再重啟Reveal;三、class-dump
? 下載:http://stevenygard.com/projects/class-dump/
? 安裝:/usr/local/bin/

? 使用
1. 找到一個IPA包,查看包內容,找到里面的Mach-O二進制檔案(一般和包名同);

2. cd到Mach-O檔案所在目錄下(可事先復制一份出來),匯出所有的.h檔案;

3. 將.h檔案夾拖入xcode;

說明:如果檔案較多的話,拖入xcode顯示會很卡,一般直接拖入“Sublime Text”顯示(很順暢);
四、Hopper Disassembler
說明:將Mach-O檔案機器語言,反編譯成匯編代碼、OC\Swift偽代碼
? 下載安裝:https://www.hopperapp.com/download.html?

? 打開Hopper,選擇試用

? 拖入Mach-O檔案


說明:如果檔案很大,分析會很慢(左上角進度條,或者右下角”working…”);可以等分析完畢后,再進行除錯;
? 演示:搜索一個方法,點擊“2”,查看代碼實作(“3”處)

五、otool命令列工具
? otool指令

? 找到一個Mach-O檔案(以下以“釘釘”為例),查看其結構型別

說明:是一個胖二進制檔案,有兩種架構;
六、MachOView
? 下載地址

? 將Mach-O檔案(以“釘釘”為例)拖入MachOView

說明:兩種架構,arm64和armv7;

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/308631.html
標籤:iOS
上一篇:逆向工程二之Cycript
