shadow ssdt中并没有NtUserGetWindowLong对应的索引号,为了实现GetWindowLong的功能,我尝试通过两次调用NtUserSetWindowLong,实现NtUserGetWindowLong,因为NtUserSetWindowLong在为一个窗口...
全文
回复(15) 2007-12-05 17:13 来自版块 - 内核编程
表情
killvxk真正的NtUserGetWindowLong不用CallTwo啊,某代码里用CallTwo实现雷同的~~可能是其他CallXXXParam,可以查找一下~~因为M$隐藏了很多CallXXXParam的功能~ NtUserXXX的搜索不是很难~~(2007-12-12 00:18)
guaiguaiguan没有办法,只好根据不同的操作系统搜索NtUserMessageCall, 查找 :u0008:bf80efa5 L30 0008:bf80efa5 8bff mov edi,edi 0008:bf80efa7 55 ...(2007-12-11 16:38)
guaiguaiguan反汇编和跟踪GetWindowLongW的结果是没有发现调用NtUserCallTwoParam函数。(2007-12-10 13:15)
guaiguaiguan引用第11楼killvxk于2007-12-09 02:24发表的 : 可以用NtUserCallTwoParam来搞到WindowsLong~~ 具体参数不能告知~~嘿嘿~~ 是在NtUserCallTwoParam函数实现中找NtUserGetWindowLong入口地址,...(2007-12-10 09:29)
killvxk可以用NtUserCallTwoParam来搞到WindowsLong~~ 具体参数不能告知~~嘿嘿~~(2007-12-09 02:24)
guaiguaiguan引用第9楼slwqw于2007-12-07 14:00发表的 : W32KAPI LRESULT NtUserCallNextHookEx( IN int nCode, IN WPARAM wParam, ....... 多谢!(2007-12-07 15:48)
slwqwW32KAPI LRESULT NtUserCallNextHookEx( IN int nCode, IN WPARAM wParam, IN LPARAM lParam, IN BOOL bAnsi); 2K的source,难道过时了?(2007-12-07 14:00)
guaiguaiguanNtUserCallNextHookEx函数汇编代码包含retn 10h,意味着这是一个四个参数的函数调用,联系到CallNextHookEx函数的四个参数,我们很容易把它们对应起来,事实上可能是个误区,我分别跟踪了这两个函数,发现CallNextHookEx->NtUse...(2007-12-07 10:55)
guaiguaiguan谢谢楼上两位。看来在拦截NtUser*函数时,尝试得到窗口的各种属性值是非常麻烦的一件事。如果这样做 DWORD MyNtUserGetWindowLong(HWND hWnd, int nIndex) { DWORD OldValue = NtUserSetWind...(2007-12-07 10:49)
GNiDiANtUserCallNextHookEx的原型不对,第一个参数是nCode。。。(2007-12-06 20:45)

返回顶部