xcode 调试没有输出信息_IDA 7.0 动态调试 iOS App

IDA 官方网站虽然提供了远程调试 iOS App 的教程,但是很多人实际操作仍然会遇到很多问题。参考 IDA 官方的教程 https://www.hex-rays.com/products/ida/support/tutorials/ios_debugger_tutorial.pdf,下面我们来亲自操作 IDA 如何调试 iOS App。

使用 Xcode 编写一个测试程序,在 main 函数中添加如下代码,获取可执行文件的路径。

NSString *exePath = [[NSBundle mainBundle] executablePath];NSLog(@"exePath %@\n",exePath);

在手机上运行之后,输出的路径如下:

exePath /var/containers/Bundle/Application/A0572F94-6D77-4DC8-AC10-81A4813B7B89/testUnicorn.app/testUnicorn

定位到测试程序编译好的 app 文件的路径,将可执行文件拖到 IDA 加载,在 main 函数入口添加断点,如下图所示:

509e96de51c9422b5cf1d971f8d44292.png

然后在 IDA 菜单选择 Debugger 点击 Select debugger,会提示一个对话框,选择 Remote iOS debugger,如下图所示:

172ee5e699e8c6ba5dbf7322030fbdaf.png

然后在 IDA 菜单选择 Debugger 点击 Process options,如下图所示:

326eebdb16303e3f540f5987b4b94621.png

在弹出的对话框中,将 Applications 和 Input file 填写测试程序中获取到的 exePath,如下图所示:

5f7949bfb6eb34a42ff3fa8621aa21c1.png

然后在 IDA 菜单选择 Debugger 点击 Debug options,会显示一个 Debugger setup 的对话框,如下图所示:

f4e90ad6bdcc76b09742165f0007f127.png

点击 Set specific options,在弹出的 iOS configuration 对话框中输入 Symbols 文件的路径,具体的路径可以到 ~/Library/Developer/Xcode/iOS DeviceSupport 目录下查看,根据你手机相应的系统版本选择即可。在 Device 选对好需要调试的设备,如下图所示:

6ec631c632029c7fd268a2737940c663.png

最后在 IDA 菜单选择 Debugger 点击 Start process 即可启动手机上的进程并进行调试,如下图所示。左侧显示的是反汇编代码窗口,右侧显示的是寄存器和栈信息。F7 是单步步入,F8 是单步步过。

ef421a634ffd5b55e99383ccf5d92718.png

如有问题,请点击阅读原文,即可进入论坛交流。

推荐文章:

checkra1n 已发布,iOS 13 越狱指南

解决 iOS 12.4 Killed: 9 的问题

【亲测成功】iPhone 5s 降级到 iOS 10.3.3

想了解最新的iOS安全资讯、技术干货请关注 iOS安全论坛(ioshacker.net)微信公众号

c46ed3d9d8bd0c7d468af64877f5cccf.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值