MCPcopy Create free account
hub / github.com/NtQuery/Scylla / parseModuleWithProcess

Method parseModuleWithProcess

Scylla/ApiReader.cpp:356–379  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

354}
355
356void ApiReader::parseModuleWithProcess(ModuleInfo * module)
357{
358 PIMAGE_NT_HEADERS pNtHeader = 0;
359 PIMAGE_DOS_HEADER pDosHeader = 0;
360 BYTE *bufferHeader = 0;
361 BYTE *bufferExportTable = 0;
362 PeParser peParser(module->modBaseAddr, false);
363
364 if (!peParser.isValidPeFile())
365 return;
366
367 pNtHeader = peParser.getCurrentNtHeader();
368
369 if (peParser.hasExportDirectory())
370 {
371 bufferExportTable = getExportTableFromProcess(module, pNtHeader);
372
373 if(bufferExportTable)
374 {
375 parseExportTable(module,pNtHeader,(PIMAGE_EXPORT_DIRECTORY)bufferExportTable, (DWORD_PTR)bufferExportTable - pNtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress);
376 delete[] bufferExportTable;
377 }
378 }
379}
380
381void ApiReader::parseExportTable(ModuleInfo *module, PIMAGE_NT_HEADERS pNtHeader, PIMAGE_EXPORT_DIRECTORY pExportDir, DWORD_PTR deltaAddress)
382{

Callers

nothing calls this directly

Calls 3

isValidPeFileMethod · 0.80
getCurrentNtHeaderMethod · 0.80
hasExportDirectoryMethod · 0.80

Tested by

no test coverage detected