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 下午
多谢你来更新和结贴啊:-)