使用monocecil的.net程序集的目标体系结构

本文关键字:目标 体系结构 程序集 net monocecil 使用 | 更新日期: 2023-09-27 18:04:48

我可以找到一个。net程序集是否已经使用Mono.Cecil专门为32位或64位构建?

使用monocecil的.net程序集的目标体系结构

使用mono-ceci,您可以这样做(信息可以逐个模块获得):

AssemblyDefinition asm = AssemblyFactory.GetAssembly("myassembly.dll");
foreach (ModuleDefinition module in asm.Modules)
{
    Console.WriteLine("Module " + module.Name);
    Console.WriteLine("IsPE64 " + module.Image.PEOptionalHeader.StandardFields.IsPE64);
}

moduleDefinition.Architecture属于TargetArchitecture类型,定义为:

public enum TargetArchitecture {
    I386,
    AMD64,
    IA64,
    ARMv7,
}

还有另一个属性,ModuleAttributes类型的moduleDefinition.Attributes:

[Flags]
public enum ModuleAttributes {
    ILOnly = 1,
    Required32Bit = 2,
    StrongNameSigned = 8,
    Preferred32Bit = 0x00020000,
}