能力值:
( LV12,RANK:730 )
2 楼
使用API不对,目的不太明确,你是要做个Loader吧?可参考一些教程,论坛搜索一下,应该有你可参考的例子。懒的就。。。随便随便
if CreateProcess()== true
while WaitForDeubgEvent(DebugEvent, INFINITE)==true
{
do Case (dwDebugEventCode)-> do ExceptionCode==EXCEPTION_BREAKPOINT-> do your work
ContinueDebugEvent();
}
能力值:
( LV4,RANK:50 )
3 楼
呵呵,谢谢楼上,我的目的就是想做一个load,做一个内存注册机,地址424461,字节FF,我的流程和你的一样,只是在DebugActiveProcess后,我在要停的地方(424461)插入一个int3,想让程序执行在424461时候发生cc异常,然后判断异常地址是不是424461(我用的ExceptionAddress==424461),如果是就停下来,取各个寄存器的值,可是取出来寄存器的值都不是我要的,我已经用od调试知道我的注册码在eax,用我做的load取出来的是错的,然后我用DebugActiveProcessStop后,程序就异常退出了
能力值:
( LV12,RANK:210 )
4 楼
你是在eip为424461有异常的吗?
跟od中调试的话, context的差别除了eax其他差别大不?
最好能把寄存器多贴出来对比。
你debugactiveprocessstop前是不是恢复了ff。
能力值:
( LV4,RANK:50 )
5 楼
谢谢楼上,是在eip为424461有异常,在这里有异常的时候取得寄存器值跟我在od里面的都不一样,在debugactiveprocessstop之前我也恢复了ff,是不是被调试程序已经崩溃了?停止调试就异常退出
00424461 FF15 78124000 call dword ptr [<&MSVBVM60.__vbaStrMo>
我取得的eip是42446200,应该是00424461才对