Win7 64 下 32 位进程注入 64 位进程和 32
位进程
1. 32 位进程注入 32 位 dll 到 32 位进程
win7 以来 CreateRemoteThread 加入了 session 隔 离 的 概 念 , 因 此 单 纯 的 调 用
CreateRemoteThread 会在某些情况下出错。解决办法是调用比 CreateRemoteThread 更底层的
NtCreateThread。具体见代码了。至于 NtCreateThread 的一个参数为什么是 0x1fffff, windbg
调试 CreateRemoteThread 在 NtCreateThread 下个断点,看参数就知道了,它就在那里,没有
为什么。
代码在这里:
http://blog.csdn.net/wxdvc/article/details/8116193
原理:
远程线程注入是这样的,首先在当前运行的进程中找到目标进程,然后将我们的 dll 的内容写
入目标进程的私有空间中,最后通过关键的 API:CreateRemoteThread 创建线程。该线程
只执行一个任务:loadlibrary 加载我们的 dll。
下面通过实例解释,例子中注入的进程是“explorer.exe”(个人认为玩弄这个进程异常的舒
爽~~~~吼吼吼吼~~~~~~)
具体实现:
1.找到目标
原理简单,我们首先获得目前时刻正在运行的进程的列表,然后通过遍历搜索,找到列表中
我们想要的进程,然后记录下进程的 ID 号。
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
这个函数用来获得当前进程的快照。(啪!说人话!)哦,就是获得当前进程的列表啊。
评论0