#include <stdio.h>
#include <windows.h>
#include <cassert>
#include <stdio.h>
#include <windows.h>
extern "C" {
#if defined(EXE)
int main(int argc, char **argv) {
void *region_without_hooks = HeapAlloc(GetProcessHeap(), 0, 10);
HMODULE lib = LoadLibraryA(argv[1]);
assert(lib != INVALID_HANDLE_VALUE);
void *region_w_hooks = HeapAlloc(GetProcessHeap(), 0, 10);
assert(region_w_hooks != nullptr);
assert(0 != FreeLibrary(lib));
fprintf(stderr, "WITHOUT:0x%08x\n", (unsigned int)region_without_hooks);
fprintf(stderr, "WITH:0x%08x\n", (unsigned int)region_w_hooks);
assert(0 != HeapFree(GetProcessHeap(), 0, region_without_hooks));
assert(0 != HeapFree(GetProcessHeap(), 0, region_w_hooks));
HeapFree(GetProcessHeap(), 0, region_w_hooks);
}
#elif defined(DLL)
BOOL WINAPI DllMain(HMODULE, DWORD reason, LPVOID) {
fprintf(stderr, "in DLL(reason=%d)\n", (int)reason);
fflush(0);
return TRUE;
}
#else
#error oops!
#endif
}