---------------------------------------------------------------------
title:=findwindow(nil,'英语通 V1.8');
GetWindowThreadProcessId(title,@Pid);
ProcessHandle:=GetTHandle(pid);
ProcessHandle := OpenThread(ProcessHandle,false);
Context.ContextFlags:=CONTEXT_FULL;
GetThreadContext(ProcessHandle,Context);
Context.Dr0 := $0049F566;
Context.Dr7 := $401;
SetThreadContext(ProcessHandle,Context);
SuspendThread(ProcessHandle);
edit1.text:= inttostr(Context.Ebx);
resumethread(ProcessHandle);
CloseHandle(ProcessHandle);
---------------------------------------------------------------------
我不太懂DEBUG.
我的意思是: 让代码运行在$0049F566(Eip)中断,然后获取EBX寄存器的内容.
但是貌似EIP一直不会指向$0049F566,而且入口点那里.
例如我用OD, 在$0049F566处设置断点, 点运行, Eip马上会指向$0049F566,并显示各个寄存器内容.
请问各位大师, 如何设置某个位置的断点. 并让程序运行到那个断点时, 截取其他积存器内容.
有代码最好.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课