0

我想创建具有自己的虚拟地址空间的线程或进程(它可能必须是单独的进程),而地址空间中没有系统库。我的目标是为外国源代码创建一个执行环境。

我想创建一个没有系统库的线程,只有几个可执行页面,用户代码将被复制并放置线程入口点,还有几个 RW 页面用于堆栈和与主线程的数据交换。

是否可以从应用程序级别的虚拟内存中完全取消映射 Windows(或可能是 Linux)上的所有系统库?

4

2 回答 2

0

取消映射系统库不会阻止二进制文件自行执行系统调用。要捕获您试图阻止的所有操作,某种形式的二进制转换是必要的。您可能想看看libdetoxfastBTGoogle Tech Talk about fastBT

于 2012-04-21T11:34:56.890 回答
0

根据您想要实现的目标,在用户模式 ​​Linux、qemu、VMware 或其他虚拟化解决方案中运行外部代码可能更容易(每次运行使用虚拟硬盘的新副本,不提供任何网络接口, ETC。)。

于 2012-04-21T11:52:20.573 回答