Re: 单步很诡异的问题

Windows内核调试

单步很诡异的问题


BianChengNan 2016-02-03, 03:54 上午
群友的一个很简单粗糙的hook代码,运行后崩溃。
大体是用malloc分配了一段空间用来做跳转,修改保护属性为可执行但是运行不正常,单步的时候出现了一个很诡异的问题,居然在红色的地方单步会直接到蓝色地方,这...

相关代码片段如下
00af1530 8bf4            mov     esi,esp
00af1532 8b4514          mov     eax,dword ptr [ebp+14h]
00af1535 50              push    eax
...

00af1542 ff153871af00    call    dword ptr [TestHookCrash!g_pfnMsgBox (00af7138)]
...
00af1550 cc              int     3
希望感兴趣的朋友关注,解答,多谢!

相关文件放到百度云盘上了 这里是链接

说明:貌似帖子字数太多发表不了,只好去掉代码部分


Re: 单步很诡异的问题


Bombs 2016-02-03, 07:36 上午
_declspec(naked)void Mumes(HWND hWnd, LPSTR lpText, LPSTR lpCaption, UINT uType)
{
g_pfnMsgBox(hWnd, lpText, lpCaption, uType);
}
该成
int WINAPI Mumes(HWND hWnd, LPSTR lpText, LPSTR lpCaption, UINT uType)
{
return g_pfnMsgBox(hWnd, lpText, lpCaption, uType);
}
就不崩溃了。

Hook有微软提供的Detours库!

Re: 单步很诡异的问题


格蠹老雷 2016-02-05, 12:46 下午
我试了一下,单步很正常,没有问题啊,估计你是没有关闭Debug > Source Mode,按源代码行单步了

栈没有平衡

Re: 单步很诡异的问题


BianChengNan 2016-02-13, 21:41 下午
多谢关注,detours库是知道的,之所以问这个问题是因为单步很诡异,没想到我回到家也不重现了,无奈

Re: 单步很诡异的问题


BianChengNan 2016-02-13, 21:43 下午
多谢张老师关注,我在家里的机器上也不会出现我所说的单步诡异的问题,在公司的机器上测试就是那么诡异,等明天到公司再运行下看看是否还能重现。
应该不是您说的source mode的问题,因为我都可以在汇编一级单步走了

Re: 单步很诡异的问题


BianChengNan 2016-02-14, 08:59 上午
今天特意注意了下source mode,还真是它的问题,多谢张老师指点

Re: 单步很诡异的问题


格蠹老雷 2016-02-14, 20:28 下午
多谢你来更新和结贴啊:-)

Powered by Community Server Powered by CnForums.Net