
- hopper介紹,下載安裝
- hopper的簡單使用
一 hopper介紹,下載安裝
Hopper是一個可以幫助我們靜態(tài)分析可執(zhí)行文件的工具。但對于我們iOS逆向這塊來說它能夠?qū)ach-O文件的機器語言代碼反編譯成匯編代碼、OC偽代碼或者Swift偽代碼。
官網(wǎng)地址:https://www.hopperapp.com
軟件下載: Hopper Disassembler_4.0.8
1.1 安裝步驟
1 下載Hopper Disassembler.dmg,點擊安裝,這個就不多講了,跟其他軟件安裝沒差別,安裝完成后,點擊圖標(biāo),打開工具

2 打開后頁面,因為是破解版的,點擊try The Demo就好了。

image.png
3 簡單說明一下面板各個區(qū)域的功能

面板簡介圖
要想知道每一個面板區(qū)域的詳細(xì)功能介紹,請看官方教程https://www.hopperapp.com/tutorial.html
一般強大的東西看起來都很簡潔,簡單?;竟δ芫驼f這么多,余下的自己慢慢研究吧,接下來講一講怎么用。
二 hopper的簡單使用
我們文初說了我們用它主要就是將Mach-O文件的機器語言代碼反編譯成匯編代碼、OC偽代碼。那我們解析來要分三步走。
步驟一 先搞個Mach-O文件
主要就是反編譯Mach-O,首先我們要找一個這樣的文件,我網(wǎng)上下載了一個微信的IPA (這里我找了個破解版的,如果你是從手機上copy的app,你需要先脫殼)http://www.51ipa.com/network/chat/WeiXin-iPhone.html。

微信IPA
下載下來后,解壓,找到weixin.app,然后查看包內(nèi)容,找到圖中二進制可執(zhí)行文件

image.png
步驟二 將Mach-O文件拖到Hopper Disassembler

Mach-O拖到Hopper Disassembler
我們看到微信可執(zhí)行文件是個胖二進制文件,支持ARM v7,AArch 64兩種架構(gòu)
步驟三 開始分析
我們選擇一個架構(gòu)開始分析,這里我選擇
ARM V7

開始加載

加載完成
簡單操作步驟就這三步,接下來最難的就是如何去分析了,要有目標(biāo)
1 你要分析要了解那一塊內(nèi)容
2 有什么線索能定位到分析區(qū)域,(class_dump,分析頭文件,找到大致方法啊等等)
3 大膽猜測逐步驗證。
我覺得簡單的可以先順著這個思路搞。
最后通過他這個分析輸出,其實就是找到Mach-O文件描述信息,然后分步解析,就像我們讀取XML格式文件一樣,Mach-O也是有固定格式的,Hopper Disassembler就類似于SAX這種XML解析器。
