iOS逆向--注入framework庫到app

weixin_34337265發表於2018-05-11
3692825-19fbd47949c023b3.png

沒有前言, 直接上技術......

這篇文章講解的基礎是在你已經重籤第三方APP專案上的, 關於如何重籤第三方APP -- 利用Xcode重籤第三方APP

1.在已有專案中新增TARGET, 建立framework庫

3692825-0f83127c2656e5f1.png

新增測試程式碼

3692825-6368fa110cebdc95.png
Snip20180511_17.png

2.將framework庫拷貝到Frameworks目錄下

3692825-deec50e03f91e30e.png

嵌入後編譯程式, 顯示包內容找到Frameworks資料夾, 可以看到下圖已經新增第三方App包中:

3692825-683dbb58bf9ff82f.png
Snip20180511_18.png

3.將庫寫入到Mach-O檔案中

右擊顯示包內容進入到 TARGET_APP_PATH(目標APP路徑)下

這裡使用到工具 yololib: 下載yololib工具
對於這種常用的工具我們可以拷貝到 /usr/local/bin 路徑下方便呼叫

3692825-026089d645741157.png
寫入靜態庫

使用MachOView檢視到寫入成功
3692825-7f3306bde715fdc8.png
Snip20180511_20.png

執行沒有列印, 這是因為你寫入到的Mach-O檔案編譯後還是被覆蓋還原了, 看下面

4. 將第三方APP中的Mach-O檔案替換

我們這裡執行的Mach-O檔案是對第三方APP重籤後的檔案(兩份檔案)

如果你是在下面這個 1. 路徑中修改的Mach-O檔案最終都會被 2.路徑下的Mach-O檔案覆蓋

3692825-3807a49e411d4670.png

路徑 1 下的APP包:

3692825-3313ee19fadff9c1.png
Snip20180511_23.png

路徑2 下的ipa包:

3692825-728bc9a3b753f242.png
Snip20180511_24.png

我們要在一開始將Framework寫入到路徑2下的APP包中 Mach-O檔案中, 這樣才不會被覆蓋

  1. 將ipa包解壓, 進入到APP包中, 重複步驟 3

  2. 完成後將 Payload 資料夾拖至 APP資料夾下壓縮成 ipa包
    壓縮Payload

zip -ry WeChat.ipa Payload

3692825-8654f602ff29f847.png
  1. 留下壓縮後的ipa包, 刪除其他檔案

重新執行, 列印成功!

相關文章