2023-01-09 13:41阅读: 56评论: 0推荐: 0

【加密与解密】第三章⑥

IDA调试器

IDA支持调试器功能,弥补了静态分析能力的不足。

1.加载目标文件

在Debugger-select debugger中可以根据当前文件类型选择调试器类型,如图所示

选择win32 debugger,就可以打开本机模式调试目标软件了。也如同以前讲的,还有另外一种调试方式,就是附加到另外一个正在运行的进程上,能否用IDA调试器附加进程的方式,取决于目前IDA是否打开了可执行文件。

如果没有数据库被打开会出现另一种不同的形式,如图

可以打开Debugger-attach-local windows debugger打开附加进程窗口如图

IDA除了本地调试还可以进行远程调试。

2.调试器界面


左侧为反汇编窗口。右上方为通用寄存器窗口,右下方为栈窗口。

3.调试跟踪

跟踪所调试目标进程的行为是调试器的基本功能。debugger菜单提供了相应的调试命令,并且各有快捷键。

4.断点

这也使调试器的必备功能。步骤如下

IDA也支持条件断点。步骤如下

condition设置框的表达式就是条件。

5.跟踪

类似ODG的run trace功能。将调试程序执行过程中的事件记录下来。跟踪分为两类,一类是指令跟踪,一类是函数跟踪。

6.监视窗口

因为在调试中需要监视变量中值的变化。所以要用IDA的监视功能。监视的对象是数据,监视点一般设置在栈或者数据区块中。示例如下

双击asc_407068来到数据区块,执行add watch命令,设置一个监视点。

7.自动化调试

在调试器中之前的脚本和插件依然可以发挥作用。可以通过编写IDC脚本和插件来控制调试器,例如启动调试器,执行复杂的断点条件,采取措施破坏反调试的技巧。
基本的脚本函数可以设置,修改和枚举断点,读取和写入寄存器与内存的值。
使用脚本控制调试器的基本方法是启动一个调试器操作,等待相应的调试器事件代码。调试扩展函数列举如下。

远程调试

IDApro支持了TCPIP网络对于应用程序的远程调试,例如远程调试Windows,Linux,Android,MACOSX二进制文件。ida附带了用于实现远程调试会话的服务器组件
在远程调试之前,要在远程计算机上启动相应的测试服务器组件,他会处理所有底层执行和调试器操作

1.Windows平台

将Windows本机作为调试器客户端,在其上运行VMware虚拟机上的WindowsXP并将其作为调试器服务器,将被调试的目标文件reverseme复制到Windows本机中,同时将win32_remote复制到调试器服务端的Windowsxp中,执行。

在调试器客户端运行IDA主程序,执行远程调试命令,在打开的调试选项窗口设定服务器ip地址,端口等等。

设置完成就可以开始远程调试了、

2.Linux平台

将IDA安装目录下的linux和被调试的目标软件main上传到linux机器中,放在/home目录下。

因为目标文件是linux程序,所以要在Windows运行ida pro。

3.Android平台

本文作者:Corax0o0

本文链接:https://www.cnblogs.com/Corax0o0/p/17036802.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Corax0o0  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
   
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.