21 lines
646 B
C
21 lines
646 B
C
#pragma once
|
|
|
|
VOID DetourIAT(HMODULE hModule, LPSTR lpFuncName, LPVOID *lpOldAddress, LPVOID lpNewAddress);
|
|
|
|
#define DETOUR_IAT(x, y) \
|
|
LPVOID __LPORIGINAL##y; \
|
|
DetourIAT(x, #y, &__LPORIGINAL##y, &_##y)
|
|
|
|
#define RESTORE_IAT(x, y) \
|
|
DetourIAT(x, #y, NULL, __LPORIGINAL##y)
|
|
|
|
LPVOID *FindIAT(HMODULE hModule, LPSTR lpFuncName);
|
|
|
|
BOOL FindPattern(LPCBYTE lpBytes, SIZE_T nNumberOfBytes, LPSTR lpszPattern, SIZE_T nStart, SIZE_T *lpOffset);
|
|
|
|
BOOL InjectLibrary(HANDLE hProcess, LPCTSTR lpLibFileName, DWORD cb);
|
|
|
|
VOID SuspendProcess(HANDLE *lphThreads, SIZE_T dwSize, SIZE_T *lpcb);
|
|
|
|
VOID ResumeAndCloseThreads(HANDLE *lphThreads, SIZE_T dwSize);
|