从C中的缓冲区运行程序集.exe

Tom*_*eff 17 .net c powershell

我正在从事与沙盒技术相关的项目.

目前我正在编写一个从远程Web服务器获取小型汇编.exe二进制文件的C程序(.NET).这个二进制文件存储在内存中(从不触摸磁盘),我的目的是从内存中运行这个二进制文件.如果我的客户端是.NET我的,那么从内存中运行该程序集就没有问题(事实上,有很多不同的方法可以获得这个),但当然这是不可能的C(不完全确定).

我的问题是:在程序.exe的地址空间中进行汇编C,有没有办法从那里运行它?有没有办法让它CLR运行呢?起初我想调用powershell从那里运行它(使用Reflection.Assembly),但这种情况涉及将程序集写入磁盘.

无论如何,毫无疑问,最好和最有效的方法是使用.NET客户端.

Oli*_*let -1

由于 .exe 将具有 IL,而不是实际的机器指令,因此您无法直接运行它。您最好的选择是使用CLR 托管 api,即使这样,我也不确定您是否可以在不接触磁盘的情况下让它工作。当然,由于执行汇编代码而运行的任何 .NET 代码最终都会从磁盘加载 CLR 程序集。