LazyBlog

本篇僅供學術使用

閱讀對象:不想要手機越獄,但又想要安裝帶有Tweak功能的應用

具備條件

  • 一台Mac(PC我不熟🌚)
  • 一台iOS設備,並且已經越獄
  • 已經安裝Xcode,因為會使用到otoolinstall_name_tool指令
  • 看過這篇文章,知道怎麼ssh連線到你的越獄設備
  • 下載libsubstrate.dylib先放在桌面
  • 下載optool,放到/usr/local/bin

針對optool在終端機下指令,權限不夠無法執行

1
chmod +x optool

找一個別人寫好的deb,這邊用Facebook的Messenger作為例子

沒有使用之前,有一則廣告

Tweak生效後,廣告消失了

Cydia安裝

攔截deb

點擊「重新啟動SpringBoard」後,deb就會被刪除

所以請停止在這個畫面,然後操作攔截流程

  1. 首先使用終端連線到越獄的設備
  2. 檢查該deb安裝檔案是否存在
1
cd /private/var/mobile/Library/Caches/com.saurik.Cydia/archives/

由此,可以確認我們要的檔案存在於

1
/private/var/mobile/Library/Caches/com.saurik.Cydia/archives/com.haoict.messengernoads_0.0.2_iphoneos-arm.deb

利用SCP把檔案傳送到Mac裡

建議先把終端機的路徑移動到桌面

1
scp -P2222 root@127.0.0.1:/private/var/mobile/Library/Caches/com.saurik.Cydia/archives/com.haoict.messengernoads_0.0.2_iphoneos-arm.deb ./

把deb裡面的dylib拆出來

使用betterzip把dylib拿出來

  • 安裝betterzip
1
brew cask install betterzip
  • Extract data

  • 持續解壓縮data並獲得Library

  • 獲得dylib

把Messenger砸殼

frida砸殼
Clutch砸殼

桌面建立一個資料夾,裡面要有這些東西

  1. 砸殼的應用
  2. libsubstrate.dylib
  3. 插件的dylib

解壓縮砸殼應用

1
unzip Messenger.ipa

把libsubstrate.dylib、messengernoads.dylib丟進去Payload/Messenger

等等會用到

進入Payload/Messenger修改info.plist

  • 把下圖內容刪除

這些是支援的設備,若要支援所有的設備這個KEY必須刪除

打開終端機並移動到Payload/Messenger底下

  • 查看messengernoads.dylib
1
otool -L messengernoads.dylib

會看到越獄手機才會用到的CydiaSubstrate

  • 利用install_name_tool替換CydiaSubstrate -> libsubstrate.dylib
1
install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib messengernoads.dylib
  • 再次查看messengernoads.dylib
1
otool -L messengernoads.dylib

會發現原來的文件路徑改為絕對路徑表示成功

利用optool把dylib注入到目標的二進文件

1
optool install -c load -p "@executable_path/messengernoads.dylib" -t ./Messenger

結果如下,表示成功

重新包裝iPA檔案

  1. 將Payload壓縮

  1. 更改壓縮檔案附檔名為xxx.ipa

重簽名

絕對學的會的方法連結


 評論