예제 #1
0
        public DataDirectoryParsers(
            IRawFile peFile,
            IEnumerable <ImageDataDirectory> dataDirectories,
            IEnumerable <ImageSectionHeader> sectionHeaders,
            bool is32Bit
            )
        {
            _peFile          = peFile;
            _dataDirectories = dataDirectories.ToArray();
            _sectionHeaders  = sectionHeaders.ToArray();
            _is32Bit         = is32Bit;

            // Init all parsers
            _imageExportDirectoriesParser     = InitImageExportDirectoryParser();
            _runtimeFunctionsParser           = InitRuntimeFunctionsParser();
            _imageImportDescriptorsParser     = InitImageImportDescriptorsParser();
            _imageBaseRelocationsParser       = InitImageBaseRelocationsParser();
            _imageResourceDirectoryParser     = InitImageResourceDirectoryParser();
            _imageDebugDirectoryParser        = InitImageDebugDirectoryParser();
            _winCertificateParser             = InitWinCertificateParser();
            _exportedFunctionsParser          = InitExportFunctionParser();
            _importedFunctionsParser          = InitImportedFunctionsParser();
            _imageBoundImportDescriptorParser = InitBoundImportDescriptorParser();
            _imageTlsDirectoryParser          = InitImageTlsDirectoryParser();
            _imageDelayImportDescriptorParser = InitImageDelayImportDescriptorParser();
            _imageLoadConfigDirectoryParser   = InitImageLoadConfigDirectoryParser();
            _imageCor20HeaderParser           = InitImageComDescriptorParser();
            _resourcesParser = InitResourcesParser();
        }
예제 #2
0
 internal void ReparseImportedFunctions()
 {
     _importedFunctionsParser = InitImportedFunctionsParser();
 }