如何添加新命令:
要添加新命令,首先你必须在数组 cmdlist[] 里注册它。数组的元素是结构类型的 t_command. 第一个元素是大写字母的命令,第二个元素描述它的操作数。当前版本的插件只支持三种类型的操作数:
A ?在 address 中使用值的地址表达式 address. 插件检查为它已分配内存的指针。
a ?等同于 A 但可选。如果未指定表达式,address 被置为0。
V ?在value 中任意类型的表达式。如果你期望整数表达式,检查 value.dtype 是 DEC_DWORD 并使用 value.u 的内容。
v ?等同于 V 但可选。如果未指定表达式,value.dtype 是 DEC_UNKNOWN 并 value.u 为 0。
S - 在 string 中的 ASCII 串,可能为空。
第三个元素是将被跳过命令过程的常量,第四个是执行命令的过程地址:
typedef int t_exefunc(char *answer,ulong parm);
如果可识别命令的所有操作数被正确解析和评估,插件调用该过程。首先是变元,answer,是长256个字节的串指针。命令被执行后它的内容会被显示在命令行窗口中。第二个变元是从 cmdlsit[] 取出的参数。如果函数的返回值为 0,说明命令正确执行并将其添加到历史列表中。
ollydbg1.10汉化版有些地方意思翻译得不准确
例如“调试选项”中的"sfx"中的“停止在自释放解释器的入口”这句话的翻译根本就是错的。原文是Stop at entry of self-extractor,原文意思为“OllyDbg doesn't attempt to trace real entry.”就是“Ollydbg不试图跟踪真实入口”。还有一些类似的翻译也是错的。容易引起误解,建议大家还是用英文原版,不懂的看帮助文件。
请教:怎么在OLLYDBG中保存当前正在调试的程序?
在代码区修改程序后,点右键-》复制到可执行文件-》选择部分,在弹出的窗口里点右键-》保存文件。起个文件名吧。
OllyDbg 常用快捷热键
打开一个新的可执行程序 (F3)
重新运行当前调试的程序 (Ctrl+F2)
当前调试的程序 (Alt+F2)
运行选定的程序进行调试 (F9)
暂时停止被调试程序的执行 (F12)
单步进入被调试程序的 Call 中 (F7)
步过被调试程序的 Call (F8)
跟入被调试程序的 Call 中 (Ctrl+F11)
跟踪时跳过被调试程序的 Call (Ctrl+F12)
执行直到返回 (Ctrl+F9)
显示记录窗口 (Alt+L)
显示模块窗口 (Alt+E)
显示内存窗口 (Alt+M)
显示 CPU 窗口 (Alt+C)
显示补丁窗口 (Ctrl+P)
显示呼叫堆栈 (Alt+K)
显示断点窗口 (Alt+B)
打开调试选项窗口 (Alt+O)
我想知道在OD中如何下地址断点
比如bpx 5022e2
是不是在命令行中?有其他办法没?
命令行在98下不能用
ctrl+g输入地址,F2下断
请问用ollydbg如何跟踪被跟踪进程的子进程
我在跟踪一个程序的时候,它用CreatProgressA产生了一个子进程,然后关闭父进程,请问我如何在子进程的入口处下断?请高手指教!
指令为:
00454476 50 PUSH EAX
00454477 6A 00 PUSH 0
00454479 E8 C218FBFF CALL kernel32.CreateProcessA
00454479处堆栈内容如下:
0012FD40 00000000 |ModuleFileName = NULL
0012FD44 00956B94 |CommandLine = "C:\QXJDGL\QXJDGL.DLL 2"
0012FD48 00000000 |pProcessSecurity = NULL
0012FD4C 00000000 |pThreadSecurity = NULL
0012FD50 00000000 |InheritHandles = FALSE
0012FD54 00000020 |CreationFlags = NORMAL_PRIORITY_CLASS
0012FD58 00000000 |pEnvironment = NULL
0012FD5C 00000000 |CurrentDir = NULL
0012FD60 0012FD84 |pStartupInfo = 0012FD84
0012FD64 0012FD74 \pProcessInfo = 0012FD74
C:\QXJDGL\QXJDGL.DLL 2,这个程序是一个EXE程序,你可以改入口点为INT 3,也就是CCh,将OD设为最终异常处理程序。当程序启动的时候会产生一个INT 3非法操作,你点调试就可以中断在QXJDGL.DLL中了。
上一页 [1] [2] [3] [4] [5] [6] 下一页