ios逆向-frida&環境&破解appSign算法

設備

iPhone 5s 黑蘋果

越獄

越獄藉助unc0ver,不詳細說了。

環境準備

安裝openSSH

越獄iPhone 使用Cydia 搜索 openSSH,安裝即可。

  • WiFi 無線連接
  • 手機和Mac電腦在同一網絡下。建立連接,這裏我的iPhone的ip是:192.168.0.106 ssh [email protected]

USB連接

比WIFI響應速度快,網絡環境無限制 usbmuxd是網上開源社區,貌似是國外牛人傾力打造的一個專門針對該功能開源庫 通過brew來安裝brew install usbmuxdusbmuxd 自帶工具iproxy,iproxy 可以快捷的操作連接iPhone等操作。由於Mac上只支持4位的端口號,所以需要把iPhone的默認端口22映射到Mac上,相當於建立一個Mac和iPhone之間的通道。iproxy 2222 22以上命令就是把當前連接設備的22端口(SSH端口)映射到電腦的1215端口,那麼想和設備22端口通信,直接和本地的1215端口通信就可以了。終端提示 waiting for connection ,表示這兩個端口之間已經可以通信了,保留當前終端(如果關閉就停止端口之間的通信了),新建另一個終端輸入,默認密碼:alpinessh -p 2222 [email protected]

配置frida

  1. 啓動 Cydia
  2. 添加軟件源 軟件源 Sources-> 編輯 Edit(左上角)-> 添加 Add(右上角)-> 輸入 https://build.frida.re/
  3. 通過剛纔添加的軟件源安裝 frida 插件。根據手機進行安裝:iPhone 5 及之前的機器爲 32 位,5s 及之後的機器爲 64 位,進入 變更->找到Frida->進入Frida 在右上角點擊安裝,安裝完成後如下圖 電腦端使用 pip install frida-tools

砸殼

使用frida-ios-dump砸殼

加速clone

git clone https://hub.fastgit.org/AloneMonkey/frida-ios-dump.git
cd frida-ios-dump 
sudo pip3 install -r requirements.txt --ignore-installed six
  • 查看app 名稱及bundleID python3 dump.py -l
  • 砸殼 砸殼可使用名稱, 若名稱不可以就使用bundleID即可 python3 dump.py com.hupu.** -P***我這裏用了類似安卓app的包名,Identifier來砸殼。如果更改了 openSSH的密碼,一定要加-p新密碼,另外dump.py默認的iproxy轉發端口是2222。 砸殼完成。當前目錄下可以看到我們需要的砸殼後的 識貨.ipa##反編譯 將ipa解壓之後,右鍵 顯示原身,找到如下圖這個二進制可執行文件。 拖到ida打開

錯誤集合

  1. unable to launch iOS app: The operation couldn’t be completed. Application "" is unknown to FrontBoard. 打開app,允許權限 2.如果frida無法連接手機,提示“Failed to enumerate applications: unable to connect to remote frida-server: Unable to connect (connection refused)”,則需要檢查手機frida的版本,區分32bit 和64bit版本。iphone5是32位,iphone 5s以上是64位。3.如果報錯:frida.InvalidOperationError: script is destroyed,則需要先退出app,再手動打開app等初始化完成,再次執行dump腳本,這樣frida attach之後就不會出現這個問題。4.如果報錯:frida.ProtocolError: unable to communicate with remote frida-server; please ensure that major versions match and that the remote Frida has the feature you are trying to use,說明pc端版本和手機端frida版本不匹配,可以把手機端升級到最新,pc端使用pip3 install -U frida進行升級 5.本文章僅用於學習交流,請勿用於非法或商業用途。

frida破解sign算法

使用fridatrace真的很方便。打開案例app,使用frida進行trace。

frida-trace -U -i CCCrypt pid #aes加解密相關
frida-trace -U -i CC_MD5 pid #md5加密
file

可以看到類似一個base64的字符串和一個url排序後的結果。先把明文進行md5。對比之後,這個算法就破解了 接下來看aes這個算法破解。看到base64,由於這個app安卓版已經破解過了,所以知道該app的ios版本應該也是aes算法,所以就。。。還知道aes加密之後再去md5就是newSign。通過trace拿到解密key之後,直接解密。然後md5一下看看好了,破完收工。

發電

自己搞了一個知識星球,主要是用來分享在工作的的一些實際經驗,更偏向實踐和乾貨,和某些知識理論相比更實際一點,現在加入還有50元優惠。本文的frida修改代碼和案例已經放在星球啦。

本文章僅用於學習交流,請勿用於非法或商業用途。

xposed插件BankRX

本文分享自微信公衆號 - 小白技術社(xbjss123)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章