public NativeMethodBodyVM(NativeMethodBodyOptions options) { this.origOptions = options; this.rva = new UInt32VM(a => HasErrorUpdated()); Reinitialize(); }
public MethodBodyOptions(MethodDef method) { this.CodeType = method.CodeType; if (method.MethodBody is CilBody) { var headerRva = method.RVA; var headerFileOffset = (FileOffset)method.Module.ToFileOffset((uint)headerRva); var rva = (RVA)((uint)headerRva + method.Body.HeaderSize); var fileOffset = (FileOffset)((long)headerFileOffset + method.Body.HeaderSize); this.CilBodyOptions = new CilBodyOptions((CilBody)method.MethodBody, headerRva, headerFileOffset, rva, fileOffset); this.BodyType = MethodBodyType.Cil; } else if (method.MethodBody is NativeMethodBody) { this.NativeMethodBodyOptions = new NativeMethodBodyOptions((NativeMethodBody)method.MethodBody); this.BodyType = MethodBodyType.Native; } else this.BodyType = MethodBodyType.None; }
public MethodBodyOptions(MethodDef method) { this.CodeType = method.CodeType; if (method.MethodBody is CilBody) { FileOffset fileOffset = 0; var mod = method.Module as ModuleDefMD; if (mod != null) fileOffset = mod.MetaData.PEImage.ToFileOffset(method.RVA); this.CilBodyOptions = new CilBodyOptions((CilBody)method.MethodBody, method.RVA, fileOffset); this.BodyType = MethodBodyType.Cil; } else if (method.MethodBody is NativeMethodBody) { this.NativeMethodBodyOptions = new NativeMethodBodyOptions((NativeMethodBody)method.MethodBody); this.BodyType = MethodBodyType.Native; } else this.BodyType = MethodBodyType.None; }
public MethodBodyOptions(MethodDef method) { this.CodeType = method.CodeType; if (method.MethodBody is CilBody) { var headerRva = method.RVA; var headerFileOffset = (FileOffset)method.Module.ToFileOffset((uint)headerRva); var rva = (RVA)((uint)headerRva + method.Body.HeaderSize); var fileOffset = (FileOffset)((long)headerFileOffset + method.Body.HeaderSize); this.CilBodyOptions = new CilBodyOptions((CilBody)method.MethodBody, headerRva, headerFileOffset, rva, fileOffset); this.BodyType = MethodBodyType.Cil; } else if (method.MethodBody is NativeMethodBody) { this.NativeMethodBodyOptions = new NativeMethodBodyOptions((NativeMethodBody)method.MethodBody); this.BodyType = MethodBodyType.Native; } else { this.BodyType = MethodBodyType.None; } }
public MethodBodyOptions(MethodDef method) { this.CodeType = method.CodeType; if (method.MethodBody is CilBody) { FileOffset fileOffset = 0; var mod = method.Module as ModuleDefMD; if (mod != null) { fileOffset = mod.MetaData.PEImage.ToFileOffset(method.RVA); } this.CilBodyOptions = new CilBodyOptions((CilBody)method.MethodBody, method.RVA, fileOffset); this.BodyType = MethodBodyType.Cil; } else if (method.MethodBody is NativeMethodBody) { this.NativeMethodBodyOptions = new NativeMethodBodyOptions((NativeMethodBody)method.MethodBody); this.BodyType = MethodBodyType.Native; } else { this.BodyType = MethodBodyType.None; } }
public void InitializeFrom(NativeMethodBodyOptions options) { this.RVA.Value = (uint)options.RVA; }
public NativeMethodBodyOptions CopyTo(NativeMethodBodyOptions options) { options.RVA = (dnlib.PE.RVA)(uint)this.RVA.Value; return options; }
public NativeMethodBodyOptions CopyTo(NativeMethodBodyOptions options) { options.RVA = (dnlib.PE.RVA)(uint) this.RVA.Value; return(options); }