我是逆向工程的新手, 当我使用 F7 在ollydbg中输入代码时,直到出现等待用户输入的对话框,如何正确处理用户输入?
答案 0 :(得分:1)
ollydbg 1.10
的 2.01
具有类似的功能
我假设您的查询意味着一旦提供了输入并进一步采购了 通过按一个按钮等如何闯回用户模式代码
假设您使用的simple application
并未主动阻止任何人进行调试
pasuing
ollydbg和viewing call stack
中的应用程序应该足够了
press f12
(这里假设单线程程序,或者你需要选择正确的线程)
暂停调试对象
press ctrl+k
查看调用堆栈
ollydbg将显示被调用者和调用者,并在上下文菜单中显示(右键单击)并有多个选项,包括执行直到返回特定调用
用户代码中的 select any one of the call
跟随并设置断点或
use execute till retn
snap中显示的调用堆栈的代码如下所示MessageBox正在等待用户输入(按下ok)
before pressing ok pause (f12) and view call stack (ctrl+k)
查看类似于图像的cal lstack
matryoshka:\>dir /b matryoshka.cpp
matryoshka:\>type matryoshka.cpp
#include <windows.h>
#pragma comment(lib, "user32.lib")
void funcg (void) {
MessageBoxA(NULL,"Matryoshka Doll\n","Matryoshka Doll",MB_OK);
}
void funcf (void) {
funcg();
}
void funce (void) {
funcf();
}
void funcd (void) {
funce();
}
void funcc (void) {
funcd();
}
void funcb (void) {
funcc();
}
void funca (void) {
funcb();
}
void main (void) {
funca();
}
matryoshka:\>cl /Zi /analyze /W4 /nologo matryoshka.cpp /link /RELEASE
matryoshka:\>dir /b *.exe
matryoshka.exe
matryoshka:\>OLLYDBG.EXE matryoshka.exe