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

Method patchDirectImportInDump64

Scylla/IATReferenceScan.cpp:678–695  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

676}
677
678void IATReferenceScan::patchDirectImportInDump64( int patchPreFixBytes, int instructionSize, DWORD_PTR patchBytes, BYTE * memory, DWORD memorySize, bool generateReloc, DWORD patchOffset, DWORD sectionRVA )
679{
680 if (memorySize < (DWORD)(patchOffset + instructionSize))
681 {
682 Scylla::debugLog.log(L"Error - Cannot fix direct import reference RVA: %X", sectionRVA + patchOffset);
683 }
684 else
685 {
686 memory += patchOffset + patchPreFixBytes;
687 if (generateReloc)
688 {
689 DWORD relocOffset = sectionRVA + patchOffset+ patchPreFixBytes;
690 directImportLog.log(L"Relocation direct imports fix: Base RVA %08X Type DIR64 Offset %04X RelocTableEntry %04X", relocOffset & 0xFFFFF000, relocOffset & 0x00000FFF, (IMAGE_REL_BASED_DIR64 << 12) + (relocOffset & 0x00000FFF));
691 }
692
693 *((DWORD_PTR *)memory) = patchBytes;
694 }
695}
696
697DWORD IATReferenceScan::addAdditionalApisToList()
698{

Callers

nothing calls this directly

Calls 1

logMethod · 0.80

Tested by

no test coverage detected