Hook exe

Posted code1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hook exe相关的知识,希望对你有一定的参考价值。

NtCreateProcess  创建空白进程
NtCreateRemoteThread  创建主线程
NtResumeThread 开始运行

 

写个全局hook(dll),拦截程序的WM_CREATE消息,然后想怎么办看你了
这类技术也可以称作subclassing(子类一个窗口)

如果你需要截获WM_CREATE消息,必需配合使用WH_CBT钩子。

http://www.microsoft.com/msj/0699/c/c0699.aspx

你去看看MFC的源代码,因为Windows上WM_CREATE是由CreateWindow触发,截获WM_CREATE的时候还没有有效的窗口句柄,函数CreateWindow还没有完全完成

 

自己定义的消息不能跨进程发送,用RegisterWindowMessage注册自定义消息才行。
WH_GETMESSAGE类型Hook的是PostMessage发送的消息;SendMessage发送的消息要用WH_CALLWNDPROC类型才能Hook到。

 

同上。WM_CREATE消息是Hook不到的,应该用WH_CBT,判断HCBT_CREATEWND。

 

自己定义的消息不能跨进程发送,用RegisterWindowMessage注册自定义消息才行。
WH_GETMESSAGE类型Hook的是PostMessage发送的消息;SendMessage发送的消息要用WH_CALLWNDPROC类型才能Hook到。

 

WH_CBT

以上是关于Hook exe的主要内容,如果未能解决你的问题,请参考以下文章

app检测到hook打不开

linux内核有没有hook机制

hook ssdt 内核方面的大神来解答下疑惑

iOS安全:防注入hook

Pytest官方教程-20-编写钩子(hook)方法

Windows Hook链机制详解