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

来源:互联网 发布:sql复制表数据到新表 编辑:程序博客网 时间:2024/06/05 01:11

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

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

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

 

一、准备

1.    详见教程

(一) Windows环境下的Detours编译

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

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


 

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

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

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

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

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


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


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


三、开始调试

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


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


四、源码下载地址

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

 

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

 

联系方式

QQ:247706624

Email:liuyeying1103@163.com/code_captain@163.com


 

原创粉丝点击