远程线程注入是指一个进程在另一个进程中创建线程的技术。该技术可以用于:API Hook,**软件所谓的“内存补丁”等。

将DLL注入到其它进程并不是难事,问题是这个被注入的DLL不太好调试。调试DLL是个比较头疼的问题,更何况是这种运行在其它进程空间的DLL。

几经周折,无意中发现了一个可以调试这种DLL的方法,现将该方法归纳总结如下。(有更好办法的朋友可以留言告知,一起成长)

 

一、准备

1.    详见教程

(一) Windows环境下的Detours编译

http://blog.csdn.net/mimica247706624/article/details/78326355

说明:setdll.exe已经生成,存放路径如下所示:

(二) 使用Detours调试远程线程注入的dll


 

二、dll注入具体调试前置条件

1.     打开*.exe所在目录,建议将*.pdb/*.exe/*.dll放置于同一目录,方便注入后的调试,以及setdll.exe的测试。

2.     启动命令行提示符,通过setdll.exe修改IAT。

setdll.exe/d:TestInjectDll.dll DllInject.exe

修改IAT成功后的结果如下所示:

(二) 使用Detours调试远程线程注入的dll

PS:若dll未导出至少一个函数,将出现下图提示。因此,需要新增一个导出函数方能进行IAT修改。

(二) 使用Detours调试远程线程注入的dll

导出函数限定符:__declspec(dllexport)


三、开始调试

启动工程开始调试,调试结果如下所示:

(二) 使用Detours调试远程线程注入的dll

随后大家可以自行发挥了。


四、源码下载地址

https://github.com/Cavan2477/DllInjectTest.git

 

有任何问题请给我留言或直接联系我。

 

联系方式

QQ:247706624

Email:[email protected]/[email protected]


 

相关文章:

  • 2021-11-27
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-26
  • 2022-12-23
  • 2021-12-18
猜你喜欢
  • 2022-12-23
  • 2021-06-06
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2022-02-27
  • 2022-03-02
相关资源
相似解决方案