未越獄設(shè)備使用動態(tài)庫

今天我們分享下如何將上一篇Theos的使用中生成的動態(tài)庫在未越獄的設(shè)備上使用

  1. 拿到自己生成的動態(tài)庫,這里是通過安裝過這個(gè)動態(tài)庫的越獄手機(jī)中獲取的,目錄為Library/MobileSubstrate/DynamicLibraries下
  2. 查看鏈接的動態(tài)庫
otool -L HelloTheos.dylib 
查看鏈接的動態(tài)庫

未越獄手機(jī)是無法找到CydiaSubstrate這個(gè)庫的,這里我們將CydiaSubstrate從越獄手機(jī)中取出拿到app中,并將動態(tài)庫中的依賴路徑修改為app中

install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/CydiaSubstrate HelloTheos.dylib

通過上面指令進(jìn)行修改,再次查看CydiaSubstrate的鏈接路徑,是否修改成功


查看CydiaSubstrate的鏈接路徑
  1. 將CydiaSubstrate以及修改后路徑的動態(tài)庫拷貝到砸殼后的app中
    查看app的加密狀態(tài)
otool -l TheosDemo| grep cry
查看app的加密狀態(tài)
  1. 將CydiaSubstrate、fuyao_tweak.dylib拷入app中
  2. 動態(tài)庫注入
    通過insert_dylib工具進(jìn)行。下載源碼,編譯生成insert_dylib工具,并將工具拷入/usr/local/bin目錄下,使用下面指令進(jìn)行注入
insert_dylib @executable_path/HelloTheos.dylib ./TheosDemo
動態(tài)庫注入

通過上面指令進(jìn)行修改,查看Mach-O文件中動態(tài)庫鏈接路徑,是否修改成功


檢查動態(tài)庫注入

覆蓋原文件

mv TheosDemo_patched TheosDemo
otool -L TheosDemo
檢查TheosDemo
  1. 對CydiaSubstrate、HelloTheos.dylib進(jìn)行重簽名
    6.1 查看本地可用證書
security find-identity -v -p codesigning
查看本地可用證書

重簽兩個(gè)文件

codesign -f -s "Apple Development: 1225574727@qq.com (5753AVLB68)" CydiaSubstrate
codesign -f -s "Apple Development: 1225574727@qq.com (5753AVLB68)" HelloTheos.dylib
重簽兩個(gè)文件
  1. 對app進(jìn)行重簽
    7.1 刪除簽名文件_CodeSignature
    7.2 替換embedded.mobileprovision文件
    7.3 對mach-o文件進(jìn)行重簽
codesign -f -s "Apple Development: 1225574727@qq.com (5753AVLB68)" --no-strict --entitlements=../Entitlements.plist ./TheosDemo.app/TheosDemo
mach-o文件重簽

7.4 檢查是否有framework,有則對所有framework進(jìn)行重簽
7.5 修改plist文件中的bundleid
7.6 打包ipa

zip -ry TheosDemoNew.ipa Payload

大功告成?。。?/p>

生活如此美好,今天就點(diǎn)到為止。。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容