本帖最后由 无名侠 于 2014-6-9 21:29 编辑
这是注入专题的开篇,希望大家喜欢!
放上一个目录表:
DLL注入技术之远程线程注入【最最基础的】
DLL注入技术之输入法注入 【最最流行的】
DLL注入技术之REG注入
DLL注入技术之ComRes注入
DLL注入技术之APC注入
DLL注入技术之依赖可信进程注入
PS:可以使用易语言写的东西我尽量用易语言
开篇就讲一讲 消息钩子注入的方式把。
消息钩子注入原理是利用Windows 系统中SetWindowsHookEx()这个API,他可以拦截目标进程的消息到指定的DLL中导出的函数,利用这个特性,我们可以将DLL注入到指定进程中。主要流程如下图所示:
需要编写一个DLL,并且公开XXXXX()函数,主要代码如下在 附件压缩包的 "要注入的dll.e"
主要代码: 如果 (ed = 0 ) ‘以防重复调用 启动线程 (&回调函数, , ) ‘这个是注入成功后调用 ed = 1返回 (CallNextHookEx (0, nCode, wp, lp )) 注入阶段: 使用SetWindowsHookEx()之前首先需要将HOOK的DLL 加载到本身的进程中,以此得到DLL的模块句柄,再使用GetProcAddress()得到DLL中公开的函数XXX()的函数地址,最后遍历出待注入进程的线程ID,这样SetWindowsHookEx()就可以利用这些参数进行HOOK了。 附加:遍历线程的方法:我们并不需要真正意义上的遍历线程,因为这个注入的方法只适用于有窗口的应用程序,用精易模块提供的 进程_ID取窗口句柄和窗口_句柄取线程ID就可以满足。
以上! 最后 只有在注入进程的上按下任意键盘键就可以看到效果了。 这个BUG可以改进,思路:给这个窗口发一个按键消息就行了。
下一篇发什么?最基础的DLL注入技术之远程线程注入好了!
消息钩子注入方式.zip
(565.67 KB, 下载次数: 3052)
|