我正在尝试使用Go语言调用Windows COM接口的方法。我怀疑我在调用调用的方式上做错了什么,并希望看到寄存器在调用期间如何变化。
但是我很难实现它,因为我似乎无法在WinDBG中设置断点。命令“bu 64b6ea43”最终无法处理错误“只完成了ReadProcessMemory或WriteProcessMemory请求的一部分”。完整的信息如下。
Microsoft (R) Windows Debugger Version 6.2.8400.0 X86
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: C:\Users\ccherng\Go\bin\error.exe
Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path. *
* Use .symfix to have the debugger choose a symbol path. *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is:
ModLoad: 00400000 00971000 image00400000
Unable to insert breakpoint 1 at 64b6ea43, Win32 error 0n299
"Only part of a ReadProcessMemory or WriteProcessMemory request was completed."
bp1 at 64b6ea43 failed
WaitForEvent failed
eax=00415a7b ebx=7ffdd000 ecx=00000000 edx=00000000 esi=00000000 edi=00000000
eip=77b37098 esp=0006fff0 ebp=00000000 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000200
77b37098 89442404 mov dword ptr [esp+4],eax ss:0023:0006fff4=00000000
答案 0 :(得分:0)
对我来说,这是ASLR的问题。 运行editbin / DYNAMICBASE:NO NameOfDetectedExe.exe对其进行了修复。
答案 1 :(得分:-4)
切换到有效的Ollydbg。得知WinDbg糟透了。