从可执行文件中获取程序集

Obtain assembly from executable

我正在寻找一个能够从指定的 .exe 中读取汇编代码的程序。我想做的是读取可执行文件的汇编代码,以便找到我可以用等效指令替换的指令,以获得不同的字节码。

这通常称为源加扰器/签名加扰器,它修改汇编代码以获得不同的字节码,从而产生不同的签名。

我正在阅读有关 C# 中的程序集 class 的信息,但没有找到任何可以 return 类似包含 .exe

程序集代码的 IEnumerable 的内容

有没有人可以教我这方面的知识?这可能吗?不同的方法?

.NET 并不真正处理字节码。所有 .NET 程序都变成了称为 MSIL 的东西,它由 .NET 运行时执行,然后才变成字节码。整个过程与 JavaBytecode 的工作方式非常相似。

因此,您可以完全访问任何内容的名称。您甚至可以像使用 .DLL 文件一样使用 .NEt 可执行文件。但是替换东西并不容易,除了继承或替换文件之外。

您可能需要的那种按位操作需要使用裸指针。 .NET 开发人员竭尽全力让您永远不必使用裸指针。您仍然可以使用 Unsface 代码使用它们,但由于这听起来像是您程序的主要用途,您最好从原生 C++ 之类的东西开始。真的任何东西都默认使用裸指针,而不是后备。