加载程序
OllyDbg有两种方式加载目标程序调试,一种是通过CreatProcess创建进程,另一种是利用DebugActiveProcess函数将调试器捆绑到一个正在运行的进程上。
1.利用CreatProcess创建进程
直接按Open打开一个用于调试的进程。
也支持带参数的调试程序,如图。
2.将OllyDbg附加到一个正在运行的进程上
ODG有一个使用的功能是调试正在运行的程序,这个功能称为附加。操作步骤如下。
要附加打开的进程也可能是隐藏进程,那么就不能使用上述的方法进行附加。OllyDbg有一个“-p”启动参数,要打开隐藏进程则需要获得进程的pid,一般使用PChunter,gmer等工具来获得进程的pid,然后在控制台窗口用“-p”参数附加。示例如下。
若直接附加不成功,可以这样试试:例如我要断A.exe,但是不成功,现在知道A.exe会调用B.exe那么我可以附加到B.exe上,设置ODG为即时调试器,如此odb会作为即时调试器启动加载B.exe,将int3指令恢复,继续调试即可。
ODG的常见问题
作为图片记录。
x64dbg调试器
书中给出的示例是这样的。
如果默认打开TraceMe64文件会终端在系统断点处,并不希望如此,所以我们就在设置里面先去除系统断点,可以直接中断在程序入口处。先让他运行,在输入账号和系列号后按ctrl+G打开表达式窗口如下
在此处设置断点,则程序会终端在这个getdlgitema函数入口处,按f8走出这个函数后我们就来到了TraceMe64的代码中。示例如下
就在2715CF这一行,输入dump rdx就可以查看rdx所指向的字符串,这个字符串就是真正的序列号如图
还介绍了一个在程序运行中使用消息断点来定位特定函数的方法,即跳转到有check按钮的界面,切出句柄选项卡,获得句柄列表找到check按钮,再右击选择消息断点,设置当单击左键时就会发送消息的程序停止,如图
设置完断点后单击check,就会使得程序终端在相关代码处。
MDeBug调试器
一款Windows应用程序调试器,分为32位和64位。
界面
分为视图窗口和浮动停靠窗口。视图窗口东西比较多,信息杂,复杂程度高。例如反汇编,模块列表,内存搜索,脚本编写等窗口。浮动停靠窗口信息较少,但是是在调试的时候随时要查看的东西,例如寄存器,内存显示,输出等窗口。
1.反汇编窗口
这个窗口会显示出北条氏的代码,光标移至不同元素会显示相应的内容。
反汇编窗口中选中任何寄存器,地址,函数,enter后悔跳转过去。
2.内存显示窗口
MDB支持多Tab显示8个内存窗口,为内存复制内存修改提供功能。
3.输出窗口
输出窗口用于显示调试信息或者脚本的输出。
标签:exe,窗口,解密,内存,进程,加密,第二章,断点,调试器 From: https://www.cnblogs.com/Corax0o0/p/17018308.html