本来想直接换成OD2的
发现2.0有很多问题 很多API在堆栈窗口没有显示参数名,od1正常
调试的时候,字符串显示在堆栈窗口,寄存器窗口不能显示正常,有些UNICODE ASCII都显示不出来调试发现是 Disasm 反回的时候字符串就有问题,看来只能等作者更新了,暂时是用不上了。
_declspec(naked) int MyHookWinType()
{
wchar_t *WinText;
_asm{
pushad
mov WinText, ebx
}
if (IsBadReadPtr(WinText, 4) == false)
{
if (
wcscmp(WinText, L"Attach") == 0 //附加窗口
|| wcscmp(WinText, L"Shortcut editor") == 0 //快捷键编辑窗口
|| wcscmp(WinText, L"Log data") == 0 //日志窗口
|| wcscmp(WinText, L"Modules") == 0 //可执行模块窗口、
|| wcscmp(WinText, L"Memory") == 0 //内存映射窗口
|| wcscmp(WinText, L"Windows") == 0 //列表窗口
|| wcscmp(WinText, L"Threads") == 0 //线程窗口
/* || wcscmp(WinText, L"CPU Disasm") == 0 //CPU 反汇编窗口*/
|| wcscmp(WinText, L"CPU Info") == 0 //CPU 信息窗口
/* || wcscmp(WinText, L"CPU registers") == 0 //CPU 寄存器窗口*/
/* || wcscmp(WinText, L"CPU Dump") == 0 //CPU 转储窗口*/
|| wcscmp(WinText, L"CPU Stack") == 0 //CPU 堆栈窗口
|| wcscmp(WinText, L"Handles") == 0 //句柄窗口
|| wcscmp(WinText, L"Watches") == 0 //监视窗口
|| wcscmp(WinText, L"Search tab") == 0 //搜索结果窗口
|| wcscmp(WinText, L"Run trace data") == 0 //运行跟踪窗口
|| wcscmp(WinText, L"Patches") == 0 //列表窗口
|| wcscmp(WinText, L"INT3 breakpoints") == 0 //列表窗口
|| wcscmp(WinText, L"Memory breakpoints") == 0 //列表窗口
|| wcscmp(WinText, L"Hardware breakpoints") == 0 //列表窗口
|| wcscmp(WinText, L"SEH chain") == 0 //列表窗口
|| wcscmp(WinText, L"Call stack") == 0 //列表窗口
|| wcscmp(WinText, L"Source files") == 0 //列表窗口
|| wcscmp(WinText, L"Windows") == 0 //列表窗口
|| wcscmp(WinText, L"Windows") == 0 //列表窗口
|| wcscmp(WinText, L"Windows") == 0 //列表窗口
|| wcscmp(WinText, L"Windows") == 0 //列表窗口
|| wcscmp(WinText, L"Windows") == 0 //列表窗口
|| wcscmp(WinText, L"") == 0 //列表窗口
)
{
ModifyFlag = true;
}
else
{
ModifyFlag = false;
}
}
else
{
ModifyFlag = true;
}
_asm
{
popad
push ebx
push esi
push edi
cmp dword ptr ss:[ebp+0x10], 0
jmp g_GetWinTypeAddress
}
}
DragAttach.rar
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!