windows核心编程 22

来源:互联网 发布:软件健壮性例子 编辑:程序博客网 时间:2024/05/29 11:32

SetWindowLongPtr(hWnd, GWLP_WNDPROC,MySubclassProc):所有发到或发往hWnd窗口的消息,应该由MySubclassProc来处理,而不是由该窗口的标准窗口过程来处理.

 

1.      使用注册表来注入DLL

当User32.dll被映射到一个新的进程时,会收到DLL_PROCESS_ATTACH通知.当User32.dll对它进行处理的时候,会取得上述注册表键的值,并调用LoadLibrary来载入这个字符串中指定的每个DLL.

2.      使用Windows挂钩来注入DLL

HHOOK WINAPI SetWindowsHookEx(

__in int idHook, \\钩子类型

__in HOOKPROC lpfn, \\回调函数地址

__in HINSTANCE hMod, \\实例句柄

__in DWORDdwThreadId); \\线程ID

最后安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。

3.      使用远程线程来注入DLL

除了CreateRemoteThread有一个额外的参数hProcss之外,它与CreateThread完全相同.

4.      使用木马DLL来注入DLL

5.      把DLL作为调试器来注入.

6.      使用CreateProcess来注入代码

 

0 0