-
-
[旧帖] [求助]有对vista下MessgeBox进行过逆向的朋友么? 0.00雪花
-
发表于: 2009-7-8 17:13 2555
-
是这样,我有一份代码,可以实现将DLL加载到内存中,进行重定位,建导入表...等等之类的工作.
简而言之就是自己实现一个Loadlibrary
但,现在碰到一个问题,我用MyLoadLibrary加载vista的user32.dll,然后我得到MessageBoxA的地址--pfnMessageBoxA(这个地址位于我用virtualAlloc的内存中,读写执行权限同user32.dll节表中指定的权限一致,我是严格按照PE格式来实现加载的.),调用pfnMessageBoxA,可以弹出对话框.此时,我的程序中原来的MessageBoxA的调用则失效了....所谓的失效是指---call MessageBoxA 程序不弹出对话框了.
这是怎么回事呢?
难道vista下MessageBox有注册什么回调之类的,对某个内存位置有依赖?
同样的情况,XP SP2下没问题.....
补充一下情况,我如果先调用系统的MessageBoxA,则会出现,pfnMessageBoxA弹不出对话框的情况......
我对VISTA的机制不熟悉..有朋友能给些线索吗?
简而言之就是自己实现一个Loadlibrary
但,现在碰到一个问题,我用MyLoadLibrary加载vista的user32.dll,然后我得到MessageBoxA的地址--pfnMessageBoxA(这个地址位于我用virtualAlloc的内存中,读写执行权限同user32.dll节表中指定的权限一致,我是严格按照PE格式来实现加载的.),调用pfnMessageBoxA,可以弹出对话框.此时,我的程序中原来的MessageBoxA的调用则失效了....所谓的失效是指---call MessageBoxA 程序不弹出对话框了.
这是怎么回事呢?
难道vista下MessageBox有注册什么回调之类的,对某个内存位置有依赖?
同样的情况,XP SP2下没问题.....
补充一下情况,我如果先调用系统的MessageBoxA,则会出现,pfnMessageBoxA弹不出对话框的情况......
我对VISTA的机制不熟悉..有朋友能给些线索吗?
赞赏
他的文章
看原图
赞赏
雪币:
留言: