调试查找关键函数的三种方法

一 F8单步跟踪到关键函数
比如调试确定功能的程序, 可以单步到出现程序的特定响应为止, 出现响应的该条call指令的调用函数就是关键函数

二 字符串检索法
比如调试hello world程序, 最简单的功能就是弹窗输出helloworld, 在Ollydbg中搜索关键字符串来迅速定位关键函数位置
————————————————在这里插入图片描述

 在这里插入图片描述

双击进入位置

在这里插入图片描述 

三 API检索法
因为交互功能需要调用到系统的API, 所以直接查看程序调用了哪些API也可快速定位关键函数

在这里插入图片描述 

在这里插入图片描述 

在这里插入图片描述 

弹窗会用到messageBoxW() API, 可以双击进入位置, 找到关键函数

另外

如果程序加了保护, 比如压缩器, 保护器, 添加了反调试, 反模拟, 反转储功能, Ollydbg无法列出API调用列表.
此时可以在DLL代码库里打断点, 查看内存映射 alt + M

在这里插入图片描述

可以发现有user32库加载到内存

查看DLL中提供的API信息

在这里插入图片描述

在helloworld程序下
键盘敲messageboxw可以直接定位到API

 在这里插入图片描述

看到export类型的messageboxw, 双击看代码

在这里插入图片描述 

在入口处F2断点, F9继续执行就会在这个API处断下, ctrl+F9运行到ret命令, F7步进回到主流程

在这里插入图片描述 

定位到关键函数 

 

 

Guess you like

Origin blog.csdn.net/xiao_yi_xiao/article/details/121604260