.net Mono.Cecil在方法插入后获取/解析方法的RVA

.net Mono.Cecil在方法插入后获取/解析方法的RVA,.net,mono.cecil,.net,Mono.cecil,如何在不重新加载整个模块的情况下解析所注入方法的RVA我总是得到0作为添加方法的RVA。是否仍然可以在不写入和重新加载程序集的情况下检索RVA?谢谢 AssemblyDefinition asm = AssemblyDefinition.ReadAssembly("hello.exe"); ModuleDefinition mod = asm.MainModule; TypeDefinition modType= mod.GetType("PrintClass"); //get class f

如何在不重新加载整个模块的情况下解析所注入方法的RVA
我总是得到0作为添加方法的RVA。是否仍然可以在不写入和重新加载程序集的情况下检索RVA?谢谢

AssemblyDefinition asm = AssemblyDefinition.ReadAssembly("hello.exe"); 
ModuleDefinition mod = asm.MainModule;
TypeDefinition modType= mod.GetType("PrintClass"); //get class found in hello.exe
MethodDefinition MethodToInject= new MethodDefinition("PrintMethod", ..., ...); //filled
modType.Methods.Add(MethodToInject);

int InjectedRVA = MethodToInject.RVA; //Always get 0
InjectedRVA = modType.Methods.FirstOrDefault(mtd => mtd.Name == "PrintMethod").RVA; //Also get 0

asm.MainModule.Write("output.exe"); //write output

新方法RVA在写入时计算,但模型不会更新。我想我们可以认为这是一个错误。 现在,您必须分析生成的程序集