internal DataDirectory(DataDirectoryName name, Section targetSection, uint headerOffset, Structures.IMAGE_DATA_DIRECTORY rawDataDir) { this._name = name; this._headerOffset = headerOffset; this._rawDataDir = rawDataDir; if (rawDataDir.RVA == 0 || targetSection == null) { _targetOffset = new Offset(0, 0, 0); } else { this._targetOffset = Offset.FromRva(rawDataDir.RVA, targetSection.ParentAssembly); this._targetSection = targetSection; } }
internal DataDirectory(DataDirectoryName name, Section targetSection, uint headerOffset, Structures.IMAGE_DATA_DIRECTORY rawDataDir) { this.name = name; this.headerOffset = headerOffset; this.rawDataDir = rawDataDir; if (rawDataDir.RVA == 0) { targetOffset = new Offset(0, 0, 0); } else { OffsetConverter converter = new OffsetConverter(targetSection); this.targetOffset = Offset.FromRva(rawDataDir.RVA, targetSection.ParentAssembly); this.targetSection = targetSection; } }
internal DataDirectory(DataDirectoryName name, Section targetSection, uint headerOffset, Structures.IMAGE_DATA_DIRECTORY rawDataDir) { this.name = name; this.headerOffset = headerOffset; this.rawDataDir = rawDataDir; if (rawDataDir.RVA == 0) { targetOffset = new Offset(0, 0, 0, ASM.OperandType.Normal); } else { OffsetConverter converter = new OffsetConverter(targetSection); this.targetOffset = Offset.FromRva(rawDataDir.RVA, targetSection.ParentAssembly); this.targetSection = targetSection; } }
internal DataDirectory(DataDirectoryName name, Section[] assemblySections, uint offset, Structures.IMAGE_DATA_DIRECTORY rawDataDir) { this._rawDataDir = rawDataDir; this._name = name; if (rawDataDir.RVA == 0) { _targetOffset = new Offset(0, 0, 0); } else { this._headerOffset = offset; _targetSection = Section.GetSectionByRva(assemblySections, rawDataDir.RVA); if (_targetSection == null) this.TargetOffset = new Offset(0, rawDataDir.RVA, 0); else this._targetOffset = Offset.FromRva(rawDataDir.RVA, assemblySections[0].ParentAssembly); } }
internal DataDirectory(DataDirectoryName name, Section[] assemblySections, uint offset, Structures.IMAGE_DATA_DIRECTORY rawDataDir) { this._rawDataDir = rawDataDir; this._name = name; if (rawDataDir.RVA == 0) { _targetOffset = new Offset(0, 0, 0); } else { this._headerOffset = offset; _targetSection = Section.GetSectionByRva(assemblySections, rawDataDir.RVA); if (_targetSection == null) { this.TargetOffset = new Offset(0, rawDataDir.RVA, 0); } else { this._targetOffset = Offset.FromRva(rawDataDir.RVA, assemblySections[0].ParentAssembly); } } }
internal DataDirectory(DataDirectoryName name, Section[] assemblySections, uint offset, uint rva, uint size) { try { this.name = name; if (rva == 0) { offset = 0; targetOffset = new Offset(0, 0, 0, ASM.OperandType.Normal); size = 0; } else { this.headerOffset = offset; targetSection = Section.GetSectionByRva(assemblySections, rva); this.size = size; this.targetOffset = Offset.FromRva(rva, assemblySections[0].ParentAssembly); } } catch (Exception ex) { } }
public PEDataDirectory GetDataDirectory(DataDirectoryName index) { return(DataDirectories[(int)(index)]); }