ida 动态调试 快捷键

快捷键
1.F2下断点
2.F7进入函数,F8单步调试,F9跳到下一个断点,F2下断点,G调到函数地址
3.N重名
4.g跳到地址和函数名
5.u取消把函数汇编变成机器码
6.c就是把机器码变成汇编
7.F5
8.p分析函数,把机器码那些东西翻译成函数
9.ctrl+s看见系统所有的模块
10.ctrl+f搜索
11.单步调试注意右上角,寄存器变蓝色表示被改了
12.otions->number of opcode bytes可以查看机器码,填入4一行看4个机器码
13.在hex view-1按F2可以修改机器码,再次按F2确定修改
14.alt+g看是thumb还是arm指令
15.在函数名上按X可以看见上层调用
16.在f5伪c/c++代码的情况下,注释是/,汇编情况下注释是;
17.f4移动到光标处
18.在寄存器窗口按E可以修改寄存器的值
19.在内存窗口f2可以修改内存的值
————————————————
在android调试中,你会经常见到这种类型的函数:

首先是一个指针加上一个数字,比如v3+676。然后将这个地址作为一个方法指针进行方法调用,并且第一个参数就是指针自己,比如(v3+676)(v3…)。这实际上就是我们在JNI里经常用到的JNIEnv方法。因为Ida并不会自动的对这些方法进行识别,所以当我们对so文件进行调试的时候经常会见到却搞不清楚这个函数究竟在干什么,因为这个函数实在是太抽象了。解决方法非常简单,只需要对JNIEnv指针做一个类型转换即可。比如说上面提到v3指针,我们选中后按一下”y”键,然后将类型声明为【JNIEnv*】。
在这里插入图片描述
随后IDA就会自动查找对应的方法并且显示出来了:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IDA(Interactive Disassembler)是一款反汇编工具,版本7.0是其最新版本。动态调试安卓应用程序是使用IDA 7.0进行分析和调试。 首先,我们需要准备一个安卓设备(手机或模拟器)和一台运行IDA 7.0的计算机。 1. 在计算机上安装IDA 7.0,并确保它与安卓设备能够进行通信。可以通过连接设备到计算机,或者使用网络调试器,如Frida或Xposed等。 2. 打开IDA 7.0并创建一个新的分析项目。可以选择从APK文件或已经安装在设备上的应用程序进行分析。 3. 如果选择从APK文件进行分析,可以通过"File"菜单下的"Load File"选项加载APK文件。如果选择从已安装应用程序进行分析,则可以通过"File"菜单下的"Attach to process"选项选择目标应用程序。 4. 一旦应用程序被加载或附加,IDA 7.0会自动进行静态分析,并将汇编代码显示在界面上。 5. 接下来,可以使用IDA 7.0的动态调试功能。通过"Debugger"菜单下的"Debugger options"选项,可以设置断点、单步执行代码、查看和修改寄存器值等。 6. 当应用程序执行到断点处时,IDA 7.0会暂停执行,并显示当前的程序状态。此时,可以查看当前的寄存器、内存内容以及堆栈等信息,以帮助分析程序。 7. 可以通过IDA 7.0的调试功能来逐步执行代码,以便分析应用程序的行为和逻辑。可以在特定的代码位置设置断点,并观察寄存器和内存的变化。 8. 在动态调试过程中,可以使用IDA 7.0的其他功能,如动态数据流分析、函数调用图等来深入分析应用程序。 9. 最后,可以通过"Debugger"菜单下的"Detach"选项或关闭IDA 7.0来结束动态调试。 总之,使用IDA 7.0动态调试安卓应用程序可以帮助我们深入分析程序的执行过程和逻辑,从而更好地理解和修改应用程序的行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值