你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> App Extension的脫殼辦法

App Extension的脫殼辦法

編輯:IOS開發基礎

從app store下載的app和app extension是加過密的,可以通過otool查看:

$ otool -l binary_name | grep crypt
cryptoff  16384
cryptsize 294912
cryptid   1

iPhone applications的解密辦法

dumpdecrypted 是個出色的app脫殼開源工具,它的原理是:將應用程序運行起來(iOS系統會先解密程序再啟動),然後將內存中的解密結果dump寫入文件中,得到一個新的可執行程序。

iPhone app extensions的特別之處

  • app extension雖是獨立進程,但不可獨立運行

  • app extension的進程中,寫權限被嚴格控制

基於以上兩點,dumpdecrypted 無法實現對iPhone app extensions的脫殼。

iPhone app extensions的解密辦法

通過對dumpdecrypted稍作修改,更改其寫入dump結果的path,變通啟動方式就可實現對app extension的解密,詳見:Carina’s dumpdecrypted

使用方法很簡單,用微信的Share Extension為例 

1)本地編譯好 dumpdecrypted.dylib 

2)指定作用的Extension Bundle

{
Filter = {
Bundles = ("com.tencent.xin.sharetimeline");
};
}

3)將 dumpdecrypted.plist 和 dumpdecrypted.dylib 拷貝至越獄機的 /Library/MobileSubstrate/DynamicLibraries/ 下

4)利用系統相冊啟動微信的Share Extension

當微信的Share Extension被啟動時,解密插件自動工作。值得注意的是,如果你的越獄機是armv7架構,那麼也就只dump armv7那部分;如果越獄機是arm64架構,那麼也就只dump arm64那部分。So,最後你需要:

$ lipo -thin armv7 xxx.decrypted -output xxx_armv7.decrypted

或 

$ lipo -thin armv64 xxx.decrypted -output xxx_arm64.decrypted

來得到干淨的dump結果

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved