当前位置 : 主页 > 编程语言 > c语言 >

逆向动态调试工具简介

来源:互联网 收集:自由互联 发布时间:2023-09-06
常用逆向工具简介: 二进制尽管属于底层知识,但是还是离不开一些相应工具的使用,今天简单介绍一下常用的逆向工具OD以及他的替代品x96dbg,这种工具网上很多,也可以加群找老满

常用逆向工具简介:

二进制尽管属于底层知识,但是还是离不开一些相应工具的使用,今天简单介绍一下常用的逆向工具OD以及他的替代品x96dbg,这种工具网上很多,也可以加群找老满(184979281):

这俩款工具都是动态调试工具,使用方式也大致相同,唯一区别的OD属于经典款,各种功能插件及其全面好用,唯一不足就是没有64位版本,而x96dbg分x32dbg和x64dbg,支持64位,但是他的插件没有OD那么完善。我们用Visual Studio 2019编写一个demo,拖入OD中分析(32位):

#include #include char a[] = "https://www.vultop.com/"; int main(int argc, char* argv[]) { printf("%s", a); system("pause"); return 0; }

1.png

在这我们简单说一下OD主要使用的快捷键以及界面功能:

常用调试指令:

常用到的就是F7单步步入,比如走到一个call指令,F7会跟进call内部函数,F8单步步过则会跳过call内函数,执行到call下一行,F4是运行到当前光标位置,F9是让程序运行,Ctrl+F9是执行到当前call的返回地方ret指令。

断点类型:

int 3断点:F2键或者双击要下断点的代码的硬编码地方,当前代码会被暂时修改为int 3断点;

硬件断点:可以下四个硬件断点,DR0-DR3,记录四个地址;

内存断点:修改当前位置的内存属性,达到触发异常的目的。

2.png3.png

接下来介绍一下主界面:

4.png

随后我们可以简单的通过俩种方式找到我们的主函数:

第一种,查找字符串: 5.png6.png

可以看到我们打印的字符串,双击过去,到了我们的主函数中打印函数这里:

7.png

随后我们在这里F2下断点,然后F9就可以到我们的主函数这里:

9.png8.png

单步走过printf函数,就可以看到控制台打印:

10.png

第二种找到主函数方法,根据VS编译器特征:

F8走过jmp,然后F7进入第一个call:

11.png12.png

然后找到这一坨特征,进第二个call: 13.png

然后走第四个call: 14.png

走过一个jmp,就到了主函数这里: 15.png

接下来我们把demo改成64位,拖入x64dbg,大同小异,和OD用法基本一样:

17.png19.png16.png18.png

【本文来源:韩国服务器 http://www.558idc.com/kt.html欢迎留下您的宝贵建议】
上一篇:L1-062 幸运彩票
下一篇:没有了
网友评论