iOS安全攻防(六):使用class-dump-z分析支付寶app

發表於2014-02-12

為了瞭解支付寶app的原始碼結構,我們可以使用class-dump-z工具來分析支付寶二進位制。

1.下載配置class_dump_z

前往 https://code.google.com/p/networkpx/wiki/class_dump_z ,下載tar包,然後解壓配置到本地環境

2.class_dump支付寶app

檢視得到的資訊是加過密的,這個加密操作是蘋果在部署到app store時做的,所以我們還需要做一步解密操作。

3.使用Clutch解密支付寶app

1)下載Clutch
iOS7越獄後的Cydia源裡已經下載不到Clutch了,但是我們可以從網上下載好推進iPhone
地址:Clutch傳送門

2)檢視可解密的應用列表

3)解密支付寶app

4)匯出已解密的支付寶app

從上一步驟得知,已解密的ipa位置為:/var/root/Documents/Cracked/支付寶錢包-v8.0.0-(Clutch-1.3.2).ipa
將其拷貝到本地去分析

4.class_dump已解密的支付寶app

解壓.ipa後,到 支付寶錢包-v8.0.0-(Clutch-1.3.2)/Payload/Portal.app 目錄下,class_dump已解密的二進位制檔案

這回就可以得到對應的資訊了:

5.分析支付寶原始碼片段

1)使用了@private關鍵字限制成員訪問許可權
但是實際上,在Objective-C程式設計中,使用@private連Keypath訪問都攔不住的

2)丟擲了冗長的成員物件
這非常有利分析程式結構

6.進一步思考

1)如何利用 class-dump 結果,結合 cycript 進行攻擊呢?
2)class-dump-z 如此強大,有什麼方法可以減少暴露的資訊嗎?

接下來的博文將針對上面的思考,繼續總結~

相關文章