調(diào)試iPhone越獄手機(jī)app

調(diào)試可以用

  • Monkeydev (可調(diào)試 hook 、class-dump頭文件、重簽名等)
  • CrackerXI、class-dump (砸殼)
  • Hopper Disassembler (靜態(tài)調(diào)試)
  • LLDB、frida-trace、dtrace (砸殼)
  • Flex、Reveal2Loader 查看UI層次結(jié)構(gòu)
  • Flex3 (APP插件,可以自己制作,也可以下載云端的)
  1. frida-trace

官網(wǎng) https://frida.re/docs/installation/
有安裝說(shuō)明,和 frida-trace使用說(shuō)明

// mac 端查看當(dāng)前正在運(yùn)行的進(jìn)程
ps -e | grep QQ
frida-trace -m "-[NSView drawRect:]" Safari
frida-trace -m "-[DMTrialController *]" QQ
frida-trace -m "-[SMEnterLicenseViewController loadView]" -p 61004
frida-trace -m "-[* terminate:]" AirServer
  1. lldb調(diào)試
  2. 導(dǎo)出手機(jī)中的debugserver 更改權(quán)限
// 導(dǎo)出到mac電腦的用戶目錄下 ~
scp root@192.168.40.155:/Developer/usr/bin/debugserver ~/
  1. debugserver瘦身(非必要)
// 查看支持的架構(gòu)
lipo -info debugserver
// 運(yùn)行命令瘦身只保留arm64 (arm64:測(cè)試機(jī)8P,armv7s:5、5C...)
lipo debugserver -thin  arm64  -output  debugserver_arm64
  1. 重簽名需要的plist文件,復(fù)制保存為ent.plist
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
      <key>com.apple.springboard.debugapplications</key>
      <true/>
      <key>get-task-allow</key>
      <true/>
      <key>task_for_pid-allow</key>
      <true/>
      <key>run-unsigned-code</key>
      <true/>
  </dict>
</plist>
  1. debugserver增加權(quán)限get-task-allow??和task_for_pid-allow????
// 可以查看權(quán)限信息
codesign -d --entitlements - debugserver_arm64 
// 簽名權(quán)限
codesign -f -s - --entitlements ent.plist debugserver_arm64 
// 或者簡(jiǎn)寫(xiě)為
codesign -fs- --entitlements ent.plist debugserver_arm64 
// 除了codesign也可以用ldid簽名
brew install ldid
// 先導(dǎo)出原來(lái)的權(quán)限,然后xcode打開(kāi)可以修改添加get-task-allow??和task_for_pid-allow???? 如下圖
ldid -e /Path/debugserver > debugserver.entitlements
// 改完重簽回去
ldid -Sdebugserver.entitlements debugserver
image.png
  1. ????????????????????????????????把已經(jīng)簽好權(quán)限的????????????????debugserver(debugserver_arm64可以重命名了)放到手機(jī)的????/usr/bin??????????????/目錄

  2. debugserver 使用

// 手機(jī)端,10010是自定義的端口號(hào) 
debugserver *:10010 -a Thor
電腦端,終端輸入lldb 
// ????連接debugserver服務(wù)
process connect connect:手機(jī)IP:10010
// ????使用lldb的??c命令讓程序先繼續(xù)運(yùn)行
c
// 通過(guò)debugserver啟動(dòng)APP
debugserver -x auto *:端口號(hào)APP的可執(zhí)行文件路徑
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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