在我的项目中,我将一个DLL(64位Windows 10)注入到一个外部进程中,其中包含了手动映射和线程劫持,我在其中做了一些事情。
在当前状态下,我使用"RtlCreateUserThread“来创建一个新线程,并在其中执行一些额外的工作负载来分发它以获得更好的性能。
我现在的问题是..。是否可以访问当前进程中的其他线程(劫持它)并在其中添加您自己的工作负载/代码。而不创建一个新线程?
我在互联网上还没有发现任何有用的东西,我使用和修改的线程劫持代码似乎只适用于DLL文件。因为我是C++的新手,所以我仍然在学习,我已经感谢你的帮助了。
(如果您想查看注入器GHInjector的源代码,可以在github上找到库。)
发布于 2020-07-07 10:59:11
这是可能的,但如此复杂,不一定在所有情况下都有效。您需要拼接现有线程的机器代码,因此需要对代码页内存进行写访问。逻辑:
(裸的)声明函数或执行代码并替换__declspec的__declspec实现函数。
此方法只能工作一次,因为不能保证在循环中执行应用程序代码。
https://stackoverflow.com/questions/62539608
复制相似问题