/// <summary> /// Creates an instance of an offset by specifying a raw offset. /// </summary> /// <param name="rawoffset">The file offset.</param> /// <param name="assembly">The assembly containing the offset.</param> /// <returns></returns> public static Offset FromFileOffset(uint rawoffset, Win32Assembly assembly) { if (rawoffset == 0) { return(new Offset(0, 0, 0)); } if (assembly == null) { return(new Offset(rawoffset, 0, 0)); } OffsetConverter offsetconverter = CreateConverter(assembly, rawoffset, 1); return(new Offset(rawoffset, offsetconverter.FileOffsetToRva(rawoffset), offsetconverter.FileOffsetToVa(rawoffset))); }
/// <summary> /// Creates an instance of an offset by specifying a raw offset. /// </summary> /// <param name="rawoffset">The file offset.</param> /// <param name="assembly">The assembly containing the offset.</param> /// <returns></returns> public static Offset FromFileOffset(uint rawoffset, Win32Assembly assembly) { if (rawoffset == 0) return new Offset(0, 0, 0, ASM.OperandType.Normal); OffsetConverter offsetconverter = new OffsetConverter(Section.GetSectionByFileOffset(assembly, rawoffset)); return new Offset(rawoffset, offsetconverter.FileOffsetToRva(rawoffset), offsetconverter.FileOffsetToVa(rawoffset), ASM.OperandType.Normal); }