Files
bb107-MemoryModulePP/MemoryModule/ImportTable.h
T
2023-10-08 14:43:39 +08:00

32 lines
765 B
C

#pragma once
typedef HMODULE(WINAPI* MM_IAT_RESOLVER_ENTRY)(LPCSTR lpModuleName);
typedef BOOL(WINAPI* MM_IAT_FREE_ENTRY)(HMODULE hModule);
typedef struct _MM_IAT_RESOLVER {
LIST_ENTRY InMmpIatResolverList;
MM_IAT_RESOLVER_ENTRY LoadLibraryProv;
MM_IAT_FREE_ENTRY FreeLibraryProv;
DWORD ReferenceCount;
}MM_IAT_RESOLVER, * PMM_IAT_RESOLVER;
VOID MemoryFreeImportTable(_In_ PMEMORYMODULE hMemoryModule);
NTSTATUS MemoryResolveImportTable(
_In_ LPBYTE base,
_In_ PIMAGE_NT_HEADERS lpNtHeaders,
_In_ PMEMORYMODULE hMemoryModule
);
HANDLE WINAPI MmRegisterImportTableResolver(
_In_ MM_IAT_RESOLVER_ENTRY LoadLibraryProv,
_In_ MM_IAT_FREE_ENTRY FreeLibraryProv
);
_Success_(return)
BOOL WINAPI MmRemoveImportTableResolver(_In_ HANDLE hMmIatResolver);