replace hook=3 with GetProcAddress hook
This commit is contained in:
parent
fb835c617e
commit
6c3790cd24
5 changed files with 68 additions and 34 deletions
|
@ -6,7 +6,6 @@
|
|||
|
||||
|
||||
#define SKIP_HOOK2 0x00000001l
|
||||
#define SKIP_HOOK3 0x00000002l
|
||||
|
||||
typedef struct HOOKLISTDATA { char function_name[32]; PROC new_function; PROC* function; DWORD flags; } HOOKLISTDATA;
|
||||
typedef struct HOOKLIST { char module_name[32]; HOOKLISTDATA data[30]; } HOOKLIST;
|
||||
|
@ -54,6 +53,7 @@ typedef HMODULE(WINAPI* LOADLIBRARYAPROC)(LPCSTR);
|
|||
typedef HMODULE(WINAPI* LOADLIBRARYWPROC)(LPCWSTR);
|
||||
typedef HMODULE(WINAPI* LOADLIBRARYEXAPROC)(LPCSTR, HANDLE, DWORD);
|
||||
typedef HMODULE(WINAPI* LOADLIBRARYEXWPROC)(LPCWSTR, HANDLE, DWORD);
|
||||
typedef FARPROC(WINAPI* GETPROCADDRESSPROC)(HMODULE, LPCSTR);
|
||||
typedef BOOL(WINAPI* GETDISKFREESPACEAPROC)(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
|
||||
typedef HRESULT(WINAPI* COCREATEINSTANCEPROC)(REFCLSID, LPUNKNOWN, DWORD, REFIID, LPVOID*);
|
||||
typedef LPTOP_LEVEL_EXCEPTION_FILTER(WINAPI* SETUNHANDLEDEXCEPTIONFILTERPROC)(LPTOP_LEVEL_EXCEPTION_FILTER);
|
||||
|
@ -94,12 +94,14 @@ extern LOADLIBRARYAPROC real_LoadLibraryA;
|
|||
extern LOADLIBRARYWPROC real_LoadLibraryW;
|
||||
extern LOADLIBRARYEXAPROC real_LoadLibraryExA;
|
||||
extern LOADLIBRARYEXWPROC real_LoadLibraryExW;
|
||||
extern GETPROCADDRESSPROC real_GetProcAddress;
|
||||
extern GETDISKFREESPACEAPROC real_GetDiskFreeSpaceA;
|
||||
extern COCREATEINSTANCEPROC real_CoCreateInstance;
|
||||
extern SETUNHANDLEDEXCEPTIONFILTERPROC real_SetUnhandledExceptionFilter;
|
||||
|
||||
extern int g_hook_method;
|
||||
extern BOOL g_hook_active;
|
||||
extern HOOKLIST g_hook_hooklist[];
|
||||
|
||||
void hook_init(BOOL initial_hook);
|
||||
void hook_exit();
|
||||
|
|
|
@ -47,6 +47,7 @@ HMODULE WINAPI fake_LoadLibraryA(LPCSTR lpLibFileName);
|
|||
HMODULE WINAPI fake_LoadLibraryW(LPCWSTR lpLibFileName);
|
||||
HMODULE WINAPI fake_LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
|
||||
HMODULE WINAPI fake_LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
|
||||
FARPROC WINAPI fake_GetProcAddress(HMODULE hModule, LPCSTR lpProcName);
|
||||
|
||||
BOOL WINAPI fake_GetDiskFreeSpaceA(
|
||||
LPCSTR lpRootPathName,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue