mirror of
https://github.com/taviso/loadlibrary
synced 2026-06-08 17:42:38 +00:00
Added RtlFreeHeap and RtlSetHeapInformation APIs
This commit is contained in:
@@ -51,6 +51,15 @@ STATIC BOOL WINAPI HeapFree(HANDLE hHeap, DWORD dwFlags, PVOID lpMem)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
STATIC BOOL WINAPI RtlFreeHeap(PVOID HeapHandle, ULONG Flags, PVOID BaseAddress)
|
||||
{
|
||||
DebugLog("%p, %#x, %p", HeapHandle, Flags, BaseAddress);
|
||||
|
||||
free(BaseAddress);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
STATIC SIZE_T WINAPI HeapSize(HANDLE hHeap, DWORD dwFlags, PVOID lpMem)
|
||||
{
|
||||
return malloc_usable_size(lpMem);
|
||||
@@ -105,6 +114,15 @@ STATIC PVOID WINAPI RtlAllocateHeap(PVOID HeapHandle,
|
||||
return malloc(Size);
|
||||
}
|
||||
|
||||
STATIC NTSTATUS WINAPI RtlSetHeapInformation(PVOID Heap,
|
||||
HEAP_INFORMATION_CLASS HeapInformationClass,
|
||||
PVOID HeapInformation,
|
||||
SIZE_T HeapInformationLength)
|
||||
{
|
||||
DebugLog("%p, %d", Heap, HeapInformationLength);
|
||||
return 0;
|
||||
}
|
||||
|
||||
STATIC PVOID WINAPI GlobalAlloc(UINT uFlags, SIZE_T uBytes)
|
||||
{
|
||||
PVOID Buffer = malloc(uBytes);
|
||||
@@ -126,6 +144,8 @@ DECLARE_CRT_EXPORT("HeapCreate", HeapCreate);
|
||||
DECLARE_CRT_EXPORT("GetProcessHeap", GetProcessHeap);
|
||||
DECLARE_CRT_EXPORT("HeapAlloc", HeapAlloc);
|
||||
DECLARE_CRT_EXPORT("HeapFree", HeapFree);
|
||||
DECLARE_CRT_EXPORT("RtlFreeHeap", RtlFreeHeap);
|
||||
DECLARE_CRT_EXPORT("RtlSetHeapInformation", RtlSetHeapInformation);
|
||||
DECLARE_CRT_EXPORT("HeapSize", HeapSize);
|
||||
DECLARE_CRT_EXPORT("HeapReAlloc", HeapReAlloc);
|
||||
DECLARE_CRT_EXPORT("LocalAlloc", LocalAlloc);
|
||||
|
||||
@@ -77,7 +77,7 @@ static DWORD WINAPI GetModuleFileNameA(HANDLE hModule, PCHAR lpFilename, DWORD n
|
||||
{
|
||||
DebugLog("%p, %p, %u", hModule, lpFilename, nSize);
|
||||
|
||||
strncpy(lpFilename, "fakename.exe", nSize);
|
||||
strncpy(lpFilename, "C:\\dummy\\fakename.exe", nSize);
|
||||
|
||||
return strlen(lpFilename);
|
||||
}
|
||||
@@ -86,11 +86,11 @@ static DWORD WINAPI GetModuleFileNameW(HANDLE hModule, PWCHAR lpFilename, DWORD
|
||||
{
|
||||
DebugLog("%p, %p, %u", hModule, lpFilename, nSize);
|
||||
|
||||
if (nSize > strlen("fakename.exe")) {
|
||||
memcpy(lpFilename, L"fakename.exe", sizeof(L"fakename.exe"));
|
||||
if (nSize > strlen("C:\\dummy\\fakename.exe")) {
|
||||
memcpy(lpFilename, L"C:\\dummy\\fakename.exe", sizeof(L"C:\\dummy\\fakename.exe"));
|
||||
}
|
||||
|
||||
return strlen("fakename.exe");
|
||||
return strlen("C:\\dummy\\fakename.exe");
|
||||
}
|
||||
|
||||
static HANDLE WINAPI GetModuleHandleA(PCHAR lpModuleName)
|
||||
|
||||
Reference in New Issue
Block a user