非越獄手機(jī)注入動(dòng)態(tài)庫(kù)重簽安裝
砸殼市場(chǎng)下載TikTok app
先從自己xocde項(xiàng)目上跑出一個(gè)合法的 描述文件(在 ipa里面有 embedded.mobileprovision) 備用
先處理一下 描述文件 (用下述倆條命令 獲取 entitlements.plist)
security cms -D -i xxx/embedded.mobileprovision > embedded_full.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' embedded_full.plist > entitlements.plist
開始處理dylib
dylib 目錄: TiktokHookTheos/.theos/obj/debug/TikTok_hook.dylib
通過 otool -L TikTok_hook.dylib 命令查看 dylib注入是否依賴著 CydiaSubstrate
如果依賴著 CydiaSubstrate 通過 下面命令將 依賴路徑修改為libsubstrate.dylib (越獄注入動(dòng)態(tài)庫(kù)依賴 CydiaSubstrate庫(kù)冗恨,但非越獄手機(jī)沒有答憔。所以需要修改一下 注入庫(kù)依賴 )
libsubstrate.dylib 我放在 libsubstrate_dylib文件夾下了。這里有個(gè)深坑掀抹,很多上古文章推薦的 libsubstrate.dylib 很老很老了虐拓。iOS9以上 使用他依賴動(dòng)態(tài)庫(kù)注入的話必崩。
替換動(dòng)態(tài)庫(kù)依賴 install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib TikTok_hook.dylib
通過 optool 注入工具 進(jìn)行二進(jìn)制注入
optool install -c load -p "@executable_path/TikTok_hook.dylib" -t xxx/xxx.app/xxx
將TikTok_hook.dylib和libsubstrate.dylib 復(fù)制進(jìn) xxx.app里面
開始簽名
需要將 TikTok_hook.dylib 和 libsubstrate.dylib 重簽名
codesign -f -s "iPhone Developer: xxx(xxx)" xxx/xxx.app/TikTok_hook.dylib
codesign -f -s "iPhone Developer: xxx(xxx)" xxx/xxx.app/libsubstrate.dylib
codesign -f -s "iPhone Developer: xxx(xxx)" --entitlements entitlements.plist xxx/xxx.app
簽名時(shí)候別嫌麻煩傲武,所有framework都要進(jìn)行一遍重簽名蓉驹。
跨進(jìn)程擴(kuò)展都要?jiǎng)h除掉 (在plugins 文件下)
打包ipa
zip -ry xxx.ipa Playload/