yu7960348 发表于 2015-2-14 20:30:17

ring3下绕过梦幻诛仙的驱动保护得到窗口句柄

ring3下绕过梦幻诛仙的驱动保护得到窗口句柄

梦幻诛仙的驱动HOOK了几个得到窗口句柄的函数,这次利用线程间通信的函数BOOL SendMessageCallback(      
    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam,
    SENDASYNCPROC lpCallBack,
    ULONG_PTR dwData
); 绕过驱动的保护得到句柄。第一个参数取 -1 ,就代表向每个窗口都发送消息,Msg 就添 WM_PAINT,lpCallBack 的原型

VOID SendAsyncProc(          HWND hwnd,
    UINT uMsg,
    ULONG_PTR dwData,
    LRESULT lResult
);
当各个窗口收到我们发的WM_PAINT消息,并处理完成时,系统就用带有窗口句柄的参数调用lpCallBack,
在回调函数中我们用invoke GetWindowText,hWnd,addr szTitalBuffer,2000,得到各种窗口的标题
判断是否和梦幻诛仙的标题相同,如果相同,就把这个hwnd句柄保存在全局变量里面。这样,就可以调用各种
窗口函数对游戏进行操作了。 ( 理论上适合各种驱动保护的游戏,我没有试。)
以下是测试的代码:



沵残留的余温ゝ 发表于 2015-6-19 07:22:41

非常感谢!这个真的很实用。

daojue 发表于 2015-8-4 18:46:17

好东西,谢谢楼主!

123123气我而去 发表于 2016-4-2 23:28:55

支持楼主,感谢楼主的分享,好贴必须学习!

dqw007 发表于 2017-7-12 16:00:32

大神你们做出 了吗
页: [1]
查看完整版本: ring3下绕过梦幻诛仙的驱动保护得到窗口句柄