加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

process.start()嵌入exe不提取到文件第一个c#

发布时间:2020-12-15 04:11:37 所属栏目:百科 来源:网络整理
导读:我有一个可执行文件嵌入我的应用程序资源. ATM我使用汇编反射来将可执行文件提取到自己的文件中,然后使用进程START()启动执行.可以直接从流中运行嵌入式可执行文件,而不是首先将其写入文件?有人能告诉我最有效的方法吗 解决方法 这是我从你的问题收集的,你
我有一个可执行文件嵌入我的应用程序资源. ATM我使用汇编反射来将可执行文件提取到自己的文件中,然后使用进程START()启动执行.可以直接从流中运行嵌入式可执行文件,而不是首先将其写入文件?有人能告诉我最有效的方法吗

解决方法

这是我从你的问题收集的,你的意见:

>您想知道是否可以执行嵌入到程序中的可执行文件,而不是首先将其解压缩到磁盘上
>您的程序是一个.NET程序
>您要执行的可执行文件不是.NET程序

答案是:是的

然而,答案也是非常非常非常困难的

你要做的是,并注意到我不知道所有的细节,因为我不这样做,但无论如何:

>将可执行代码加载到内存中
>重新映射二进制映像中的所有地址,使其与您在可执行文件中加载的基址相对应
>可能加载外部引用,即.其他DLL的可执行文件需要
>重新映射这些引用的地址
>可能加载刚刚加载的引用的DLL所需的引用
>重写这些dll的
>重复3到6直到完成
>调用代码

我假设你的问题是“我可以做1和8”,答案是否定的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读