在C#沙箱中运行非托管EXE

时间:2012-12-04 03:37:28

标签: c# unmanaged sandbox appdomain managed

我有一个第三方非托管程序作为我的应用程序的一部分。我有一个托管的C#应用​​程序,它是系统的“入口点”。它确保只有满足某些条件才能正常运行非托管程序。

我希望C#应用程序在沙箱中运行非托管程序,以便特定文件不直接直接读取或写入硬盘驱动器;相反,C#应用程序需要处理它,然后将文件提供给第三方应用程序或将其保存到磁盘。

我已经研究过使用C#的AppDomain类,但我相信只有托管代码可以由它运行。是否有我想要完成的替代系统?

1 个答案:

答案 0 :(得分:3)

非常确定你无法真正在C#沙箱中运行非托管程序,除了在C#中编写非托管仿真器并在其中运行非托管可执行文件。而且运行起来很慢而且很难写,所以你可能不想走那条路。

我能看到这个工作的唯一方法是,如果非托管程序为文件系统调用了一个C#包装器。你有非托管程序的源代码吗?