我是否可以使用 Mono.Cecil 找到 .NET 程序集是专门为 32 位还是 64 位构建的?或任何其他无需先加载程序集的查找方式。
问问题
447 次
2 回答
2
使用 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);
}
于 2013-03-20T15:21:47.750 回答
2
moduleDefinition.Architecture
是类型的TargetArchitecture
女巫定义为:
public enum TargetArchitecture {
I386,
AMD64,
IA64,
ARMv7,
}
还有另一个属性,moduleDefinition.Attributes
类型为ModuleAttributes
:
[Flags]
public enum ModuleAttributes {
ILOnly = 1,
Required32Bit = 2,
StrongNameSigned = 8,
Preferred32Bit = 0x00020000,
}
于 2018-07-17T09:51:49.057 回答