http://blog.csdn.net/arvon2012/article/details/7766439
本文是配合上文学习和使用的。上文中,最后,我们生成了可以hook api的dll,那么怎么把它发射到其他进程中,让其他进程调用运行我们的dll呢?
远程线程注入技术可以解决这个问题。
原理:
远程线程注入是这样的,首先在当前运行的进程中找到目标进程,然后将我们的dll的内容写入目标进程的私有空间中,最后通过关键的API:CreateRemoteThread创建线程。该线程只执行一个任务:loadlibrary加载我们的dll。
下面通过实例解释,例子中注入的进程是“explorer.exe”(个人认为玩弄这个进程异常的舒爽~~~~吼吼吼吼~~~~~~)
具体实现:
1.找到目标
原理简单,我们首先获得目前时刻正在运行的进程的列表,然后通过遍历搜索,找到列表中我们想要的进程,然后记录下进程的ID号。
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
这个函数用来获得当前进程的快照。(啪!说人话!)哦,就是获得当前进程的列表啊。