我有一个可执行文件嵌入我的应用程序资源. ATM我使用汇编反射来将可执行文件提取到自己的文件中,然后使用进程START()启动执行.可以直接从流中运行嵌入式可执行文件,而不是首先将其写入文件?有人能告诉我最有效的方法吗
解决方法
这是我从你的问题收集的,你的意见:
>您想知道是否可以执行嵌入到程序中的可执行文件,而不是首先将其解压缩到磁盘上
>您的程序是一个.NET程序
>您要执行的可执行文件不是.NET程序
答案是:是的
然而,答案也是非常非常非常困难的
你要做的是,并注意到我不知道所有的细节,因为我不这样做,但无论如何:
>将可执行代码加载到内存中
>重新映射二进制映像中的所有地址,使其与您在可执行文件中加载的基址相对应
>可能加载外部引用,即.其他DLL的可执行文件需要
>重新映射这些引用的地址
>可能加载刚刚加载的引用的DLL所需的引用
>重写这些dll的
>重复3到6直到完成
>调用代码
我假设你的问题是“我可以做1和8”,答案是否定的.