请教将DLL注入到目标进程,如何让目标进程执行DLL中导出的函数?
不在DllMain执行,而是上目标进程执行DLL导出的函数。 曾在猪八式问过类似问题,给了600 coolcalf 发表于 2020-1-15 12:32曾在猪八式问过类似问题,给了600
谢谢,我自己查资料吧,以后不来提问了,问不起,穷
哎,这就是国内的技术圈子~~~ 曾几何时我也苦苦寻找这个问题的答案,结果一直都没找到可靠的方法,楼主已经做到了吗 1.挂钩目标线程,让目标线程执行你的代码,在代码里执行你的函数。
举个例子:如目标进程有窗口,你可以直接挂钩窗口的回调函数(如SetWindowLong等),设置写消息捕获处理。
2.还有就是挂钩线程,暂停线程,设置跳转到你的代码,执行完跳回原始代码位置。
3.创建远程线程
还有其他的你再在论坛搜索吧。{:301_997:} LeoSky 发表于 2020-1-15 12:41
1.挂钩目标线程,让目标线程执行你的代码,在代码里执行你的函数。
举个例子:如目标进程有窗口,你可以直 ...
谢谢,这些都不是我想要的,我试过重新再开一个线程去执行目标进程中的函数,但是得不到函数地址。
PTHREAD_START_ROUTINE pThreadProc = (PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandleA("test.dll"), "test");
CreateRemoteThread(hProcess, NULL, 0, pThreadProc, NULL, 0, NULL);
pThreadProc返回是0 调下导出函数就行了。具体参考这个项目
https://github.com/DarthTon/Xenos
在高级选项里面有个注入完调用函数名和参数。 具体实现就是用shellcode。 xjun 发表于 2020-1-15 13:16
调下导出函数就行了。具体参考这个项目
https://github.com/DarthTon/Xenos
谢谢,我看看 我能想到的办法就是用一个shellcode获取模块句柄+函数导出地址,直接用远程线程调用,但是我刚刚设想了一下用远程线程获取模块句柄,但是好像你操作了获取不到,你OD跟一下看是什么原因 coolcalf 发表于 2020-1-15 12:32
曾在猪八式问过类似问题,给了600
嘿嘿,你说猪八戒哇,那个站全是内部操作,技术都是有限的,全是套路你这也信
页:
[1]
2