예제 #1
0
        internal void LoadData(bool ignoreHeaderNumbers)
        {
            CheckDosHeader();

            dosHeader = image.ReadStructure<Structures.IMAGE_DOS_HEADER>();

            ntheaderoffset = image.Stream.Position;

            image.Stream.Seek(dosHeader.e_lfanew, SeekOrigin.Begin);

            ntHeadersSignature = image.Reader.ReadUInt32();

            ReadFileHeader();
            ReadOptionalHeader();

            Dictionary<uint, Structures.IMAGE_DATA_DIRECTORY> rawdatadirs = ConstructDataDirectories(ignoreHeaderNumbers);

            ReadSections();

            CompleteDataDirectories(rawdatadirs);
        }
예제 #2
0
        internal void LoadData(bool ignoreHeaderNumbers)
        {
            CheckDosHeader();

            dosHeader = image.ReadStructure <Structures.IMAGE_DOS_HEADER>();

            ntheaderoffset = image.Stream.Position;

            image.Stream.Seek(dosHeader.e_lfanew, SeekOrigin.Begin);

            ntHeadersSignature = image.Reader.ReadUInt32();

            ReadFileHeader();
            ReadOptionalHeader();


            Dictionary <uint, Structures.IMAGE_DATA_DIRECTORY> rawdatadirs = ConstructDataDirectories(ignoreHeaderNumbers);

            ReadSections();

            CompleteDataDirectories(rawdatadirs);
        }