1. 程式人生 > >【越獄開發】除錯iOS下沒有加密的第三方程式

【越獄開發】除錯iOS下沒有加密的第三方程式

決定一個app是否能被debug,關鍵是在於編譯後的code sign entitlements 。
只要在 entitlement 裡面新增如下欄位:
<key>get-task-allow</key>
<true/>

就代表該執行檔案可以被debug。

 

修改方法如下:

1、將需要debug的執行檔案copy到 mac上。
2、使用ldid 工具,匯出其code sign
 
ldid -e helloworld >> helloworld.txt 
 
3、修改其code sign,新增上述欄位
4、重新對齊進行code sign
 
ldid -Shelloworld.txt ./helloworld
 
5、copy 回 裝置上,修改許可權為 755
 
chmod 755 ./helloworld
 
6、開啟XCode -》Product -》Attach to Process -> By Process PID  填入 helloworld

啟動程式則自動開始除錯。

當然,這個方法適合越獄裝置,因為這樣才能對其賦予許可權。

app也必須是不通過apple store釋出的版本,因為apple會對每個app 進行簽名加密。

將來會說明一下如何對加密的裝置進行debug。