Represents a directory entry in the resource directory.
示例#1
0
 internal ResourceDirectory(PeImage image, uint offset, ResourceDirectoryEntry parentEntry, ResourceDirectoryEntry[] childEntries, PE.Structures.IMAGE_RESOURCE_DIRECTORY rawDirectory)
 {
     this.image = image;
     this.ParentEntry = parentEntry;
     this.ChildEntries = childEntries;
     this.offset = offset;
     this.rawDirectory = rawDirectory;
 }
示例#2
0
 internal ResourceDirectory(PeImage image, uint offset, ResourcesReader reader, ResourceDirectoryEntry parentEntry, PE.Structures.IMAGE_RESOURCE_DIRECTORY rawDirectory)
 {
     this._image = image;
     this.ParentEntry = parentEntry;
     this._offset = offset;
     this._fileOffset = offset + image.ParentAssembly._ntHeader.OptionalHeader.DataDirectories[(int)DataDirectoryName.Resource].TargetOffset.FileOffset;
     this._rawDirectory = rawDirectory;
     this._reader = reader;
 }
示例#3
0
        internal ResourceDataEntry(PeImage image, uint offset, ResourceDirectoryEntry parentEntry, Structures.IMAGE_RESOURCE_DATA_ENTRY rawDataEntry)
        {
            this.image = image;
            this.offset = offset;
            this.ParentEntry = parentEntry;
            this.rawDataEntry = rawDataEntry;

            Section resourceSection = Section.GetSectionByRva(image.assembly, image.assembly.ntHeader.OptionalHeader.DataDirectories[(int)DataDirectoryName.Resource].TargetOffset.Rva);
            targetOffset = OffsetToData - resourceSection.RVA + resourceSection.RawOffset;
        }
        internal ResourceDataEntry(PeImage image, uint offset, ResourceDirectoryEntry parentEntry, Structures.IMAGE_RESOURCE_DATA_ENTRY rawDataEntry)
        {
            this.image        = image;
            this.offset       = offset;
            this.ParentEntry  = parentEntry;
            this.rawDataEntry = rawDataEntry;

            Section resourceSection = Section.GetSectionByRva(image.ParentAssembly, image.ParentAssembly.ntHeader.OptionalHeader.DataDirectories[(int)DataDirectoryName.Resource].TargetOffset.Rva);

            targetOffset = OffsetToData - resourceSection.RVA + resourceSection.RawOffset;
        }
示例#5
0
 internal ResourceDirectory(PeImage image, uint offset, ResourcesReader reader, ResourceDirectoryEntry parentEntry, PE.Structures.IMAGE_RESOURCE_DIRECTORY rawDirectory)
 {
     this.image        = image;
     this.ParentEntry  = parentEntry;
     this.offset       = offset;
     this.fileOffset   = offset + image.ParentAssembly.ntHeader.OptionalHeader.DataDirectories[(int)DataDirectoryName.Resource].TargetOffset.FileOffset;
     this.rawDirectory = rawDirectory;
     this.reader       = reader;
 }
示例#6
0
 private void PopulateDirectoryEntry(TreeNode parentNode, ResourceDirectoryEntry entry)
 {
     TreeNode node = new TreeNode();
     if (entry.IsEntryToData)
     {
         node.Text = "Resource Data Entry";
         node.Tag = entry.DataEntry;
     }
     else
     {
         node.Text = "Resource Directory";
         node.Tag = entry.Directory;
         PopulateDirectory(node, entry.Directory);
     }
     parentNode.Nodes.Add(node);
 }