一、目的
- 找到main函数
- 找到调用的MessageBoxA函数
测试源码
#include <iostream>
#include <windows.h>int main() {MessageBoxA(NULL, "Hellow World", "Title", MB_OK);return 1;
}
二、快捷键
指令 | 快捷键 | 说明 |
---|---|---|
Restart | Ctrl+F2 | 重新开始调试 |
Step Into | F7 | 向下执行,如果有函数CALL,将进入函数内部 |
Step Over | F8 | 向下执行,如果有函数CALL,仅执行函数,不进入内部 |
Execute till Return | Ctrl+F9 | 一直在函数代码内部运行,直到遇到RETN命令 |
三、开始调试(代码执行法)
EIP 停留在 00A01023
这里,
属于009F1000这个代码段,我们可以继续使用快捷键F8
,直到弹出MessageBox。
在执行到00A02003的时候,弹出了MessageBox
我们可以使用F7
来进入这个函数看看,接着一直按F8
来判断MessageBox的位置,如果是CALL就继续F7
进入函数,直到遇到类似调用windows API的操作出现。
如图,通过这种排查法很快就找到了,其中红色框圈起来的是MessageBoxA的参数(反着的)。