刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

ELF文件 ida逆向动态调试

在IDA的安装目录/dbgsrv/找到linux_server或linux_serverx64这两个文件,具体选择哪个文件需要视待分析的ELF文件的编译信息而定,根据第一步中得出的信息,我需要选择的是linux_serverx64,把待分析的可执行文件和linux_serverx64一起拷贝到装好的Linux中。然后运行linux_serverx64:

image.png

ida顶部菜单,调试-选择调试器-Remote Linux debugger

image.png

然后设置进程选项

image.png

image.png

然后启动进程即可

image.png

调试指令

介绍一下常用的调试指令:

调试指令说明
单步步入(F7)执行下一条指令,若遇到函数,将进入函数代码内部,停在函数的第一条指令.
单步步过(F8)执行下一条指令,若遇到函数,仅执行函数自身,不进入函数内部.
终止(CTRL-F2)终止一个正在运行的调试进程.
继续(F9)继续执行一个暂停的进程。执行将继续直到遇到一个断点、用户暂停或终止执行或该进程自行终止.
暂停(这里写图片描述 )暂停一个正在调试的进程.
运行至返回(CTRL-F7)一直在函数代码内部运行,直到遇到RETN(或断点)时才停止.

断点

和Ollydbg一样,可以在选中的指令内存位置通过F2快捷键,设置软件断点。设置成功后,会以红色凸显(蓝色凸显的是将要执行的下一条指令)。可以通过【Debugger】-【Breakpoints】-【Breakpoint list】查看程序中当前已经设置的所有断点:

这里写图片描述

我们可以编辑我们设置的断点,在【Breakpoint list】中选中要编辑的断点,右键菜单选择【Edit…】即可打开编辑窗口:
这里写图片描述

在这个窗口中我们看以看到,通过【Condition】栏可以为断点设置条件,这样断点就转化成“条件断点”。在【Settings】中勾选【Hardware】后软件断点转化成“硬件断点”,这是【Hardware breakpoint mode】选项将会被激活,来设置硬件断点必须指定行为。


发表评论:

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.