gpt4 book ai didi

C# (MSIL) 到 native X86 代码?

转载 作者:行者123 更新时间:2023-11-30 15:02:11 26 4
gpt4 key购买 nike

首先我想说我的目标是将 MSIL 转换为 native X86 代码。我对我的程序集仍然需要安装 .net 框架感到满意。 NGEN 不是我想要的,因为您仍然需要原始程序集。

我遇到了 ilasm ,我想知道的是这就是我想要的,这会生成纯汇编代码吗?

我看过其他项目,如 mono(不支持我的应用程序使用的一些关键功能)和 .net 链接器,但它们很简单,只是用 .net 框架制作一个 EXE,这不是我想要的.

到目前为止,任何研究都得出了……你做不到。我真的不确定为什么 JIT 在加载 MSIL 程序集时会这样做。我有自己的理由想要这个,所以我想我的问题归结为这个。

  1. 我发布的链接是否有帮助?

  2. 有什么东西可以将 MSIL 转换为 x86 程序集吗?

最佳答案

有各种第三方代码保护包可用,它们通过加密隐藏 IL,并使用特殊的引导加载程序对其进行打包,该引导加载程序仅在运行时解包。如果您担心代码的反汇编,这可能是一个选择,尽管这些第三方软件包中的大多数也已经被破解(不幸的是,这在某种程度上是不可避免的。)假设这是您的基本目标,简单的混淆最终可能同样有效.

与“预编译”IL 相关的主要挑战之一是您最终会在 native 代码中包含固定地址引用。当加载 native 代码以在 CLR 下执行时,这些又需要“重新基于”。这意味着您需要的不仅仅是编译的逻辑;您还需要所有必要的引用上下文信息,以便在加载代码时对固定引用进行 rebase 。它不仅仅是缓存代码。

关于C# (MSIL) 到 native X86 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com