ImportTableResolver

This commit is contained in:
Boring
2023-10-08 14:43:39 +08:00
parent bb249e5625
commit 73af5f1678
11 changed files with 338 additions and 190 deletions
+31
View File
@@ -0,0 +1,31 @@
#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);