将程序 (.exe) 作为线程执行 - Window C++
Posted
技术标签:
【中文标题】将程序 (.exe) 作为线程执行 - Window C++【英文标题】:Execute an program (.exe) as a thread - Window C++ 【发布时间】:2016-06-29 13:10:56 【问题描述】:我使用线程类来创建线程, 但我在将另一个程序作为线程运行时遇到了一些麻烦。 我想要一种通过路径创建和运行 .exe 线程的方法。 类似于 linux 中的 exec 系统调用,仅适用于线程和窗口。 (用新的线程图像替换当前线程图像)
另外,我如何与这个线程交流? (类似于在 linux 中使用管道和 dup)
提前致谢, 尤瓦尔。
【问题讨论】:
你不能那样做。您只能将可执行文件作为自己的进程执行,而不是作为另一个进程中的线程 不确定“当前线程图像”是什么意思。线程没有图像。进程可以。 【参考方案1】:我想你可以通过编写/使用自制的 PE 加载程序并在填写 IAT、修复重定位并找到 TLS 解决方案后跳转到起始地址来做到这一点......
类似这样的东西:https://github.com/abhisek/Pe-Loader-Sample 应该可以帮到你。
【讨论】:
以上是关于将程序 (.exe) 作为线程执行 - Window C++的主要内容,如果未能解决你的问题,请参考以下文章