博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS逆向:用Xcode直接调试第三方app
阅读量:5956 次
发布时间:2019-06-19

本文共 935 字,大约阅读时间需要 3 分钟。

一般动态调试app时,都是在终端里用lldb直接调试,但是用Xcode的Attach to Process也可以连接到真机上的进程进行调试。但是只能调试用自己的证书签名的app。

在Xcode上调试的优点:

  • 有UI界面,查看堆栈更直接,可以用Xcode打断点。
  • 可以使用debug gauges里的Disk和Network等工具。
  • 输入lldb命令时有自动补全。
  • 可以使用Xcode的Debug UI Hierarchy功能,直接查看app的界面布局。
  • 可以使用Xcode的Debug Memory Graph功能,查看当前内存中存在的所有对象,以及对象之间的引用关系。

步骤如下。

1.重签名需要逆向的app

重签名后才能用Xcode attach。而重签名前需要对app进行砸壳。这些步骤就不再重复了。

额外说一句,在砸壳后建议进行一下恢复符号表的操作。恢复符号表后,在调试时就能直接在堆栈中看到方法名,免去了计算偏移量然后在hopper里查找的麻烦。参考:, 。

2.Attach to Process

重签名后安装到越狱设备上,启动app,在Xcode中随便打开一个工程,选择越狱设备,就可以在Debug->Attach to Process中找到正在运行的进程名和进程id,点击后就会开始连接。大概过1分钟就会连接上。

3.查看UI

连接上后,就可以点击使用Xcode的Debug UI Hierarchy来查看界面布局:

注意,Debug UI Hierarchy对Xcode版本似乎有要求,在调试重签名app时,Xcode8.3.2可以,而Xcode8.2就没有这个功能按钮。

4.查看内存信息

点击Debug Memory Graph按钮,可以查看当前内存中存在的数据。打印地址,查看引用关系,可以配合malloc stack进行追踪。如果打开了malloc stack,就可以直接在右边显示这个对象的创建堆栈。参考:。

5.查看正在使用的文件

debug gauges中的Disk工具可以查看app当前打开的文件。

5.instrument调试

类似的,也可以用instrument调试重签名后的app,不过并不是所有工具都可以使用,对逆向的帮助不大。

转载地址:http://nyrxx.baihongyu.com/

你可能感兴趣的文章
ubuntu 安装 qt等软件
查看>>
js模态窗口
查看>>
LayoutInflater的infalte()
查看>>
TCP粘包, UDP丢包, nagle算法
查看>>
POJ 3280 Cheapest Palindrome (DP)
查看>>
投递外刊引用自己的文章该注意什么
查看>>
文本 To 音频
查看>>
UVA 644 Immediate Decodability (字符处理)
查看>>
项目总结—jQuery EasyUI- DataGrid使用
查看>>
使用智能移动设备访问Ossim制
查看>>
39. Volume Rendering Techniques
查看>>
AVD启动不了 ANDROID_SDK_HOME is defined but could not find *.ini
查看>>
WPF钟表效果实现
查看>>
Java JDK 8 安装和环境变量的配置(Linux and Windows)
查看>>
[模拟] hdu 4452 Running Rabbits
查看>>
扩展easyui 的表单验证
查看>>
MySQL锁之一:锁详解
查看>>
选择29部分有用jQuery应用程序插件(免费点数下载)
查看>>
下拉状态条
查看>>
C#实现的等额本息法、按月付息到期还本法、一次性还本付息法
查看>>