Beispiel #1
0
        public PEAssembly(StreamParser parser)
        {
            DOSHeader dosHeader = new DOSHeader(parser);
            parser.Seek(dosHeader.PEHeaderOffset);
            PEHeader peHeader = new PEHeader(parser);
            if (peHeader.SizeOfOptionalHeader == 0)
                throw new ParseFailedException("PE missing NT header");
            PEOptionalHeader peOptionalHeader = new PEOptionalHeader(parser);
            PESectionHeader[] sectionHeaders = new PESectionHeader[peHeader.NumberOfSections];
            for (int i = 0; i < peHeader.NumberOfSections; i++)
                sectionHeaders[i] = new PESectionHeader(parser);

            SectionHeaders = sectionHeaders;
            DataDirectory = peOptionalHeader.DataDirectory;
        }
 public virtual void VisitStandardFieldsHeader(PEOptionalHeader.StandardFieldsHeader header)
 {
 }
 public virtual void VisitPEOptionalHeader(PEOptionalHeader header)
 {
 }
 public virtual void VisitNTSpecificFieldsHeader(PEOptionalHeader.NTSpecificFieldsHeader header)
 {
 }
 public virtual void VisitDataDirectoriesHeader(PEOptionalHeader.DataDirectoriesHeader header)
 {
 }
Beispiel #6
0
 public virtual void VisitPEOptionalHeader(PEOptionalHeader header)
 {
 }