📄 apihooks.h
字号:
__XTRN194 DWORD __stdcall _HookApiA(LPCSTR ModuleExport, LPCSTR ApiNameOrOrd, DWORD dwFlags, LPCVOID ModuleImport, PAPI_UNHOOK ApiUnhook, LPVOID HookAddress, HANDLE ExcludeModules[]);
__XTRN194 DWORD __stdcall _HookApiW(LPCWSTR ModuleExport, LPCWSTR ApiNameOrOrd, DWORD dwFlags, LPCVOID ModuleImport, PAPI_UNHOOK ApiUnhook, LPVOID HookAddress, HANDLE ExcludeModules[]);
__XTRN194 DWORD __stdcall _CallOrigFn(LPCSTR ModuleExport, LPCSTR ApiNameOrOrd, DWORD dwFlags, LPCVOID OrigFn, PAPI_UNHOOK ApiUnhook, DWORD nArgs, LPVOID pArgs);
__XTRN194 PRCINFO __stdcall _GetDefaultRCInfo(VOID);
__XTRN194 BOOL __stdcall _UnhookApis(PAPI_HOOK lpAHChain, LONG nAHooks);
__XTRN194 DWORD __stdcall _GetProcFlags(DWORD ProcessId);
__XTRN194 DWORD __stdcall _hGetProcFlags(HANDLE hProcess);
#define RemoteExecute _RemoteExecute
#define GetDefaultRCInfo _GetDefaultRCInfo
#define UnhookApis _UnhookApis
#define GetProcFlags _GetProcFlags
#define hGetProcFlags _hGetProcFlags
#define CallOrigFn _CallOrigFn
#define EstablishApiHooksA _EstablishApiHooksA
#define hEstablishApiHooksA _hEstablishApiHooksA
#define IsModuleLoadedA _IsModuleLoadedA
#define hIsModuleLoadedA _hIsModuleLoadedA
#define LoadAndCallA _LoadAndCallA
#define hLoadAndCallA _hLoadAndCallA
#define UnloadModuleA _UnloadModuleA
#define hUnloadModuleA _hUnloadModuleA
#define HookApiA _HookApiA
#define EstablishApiHooksW _EstablishApiHooksW
#define hEstablishApiHooksW _hEstablishApiHooksW
#define IsModuleLoadedW _IsModuleLoadedW
#define hIsModuleLoadedW _hIsModuleLoadedW
#define LoadAndCallW _LoadAndCallW
#define hLoadAndCallW _hLoadAndCallW
#define UnloadModuleW _UnloadModuleW
#define hUnloadModuleW _hUnloadModuleW
#define HookApiW _HookApiW
#ifdef UNICODE
#define EstablishApiHooks _EstablishApiHooksW
#define hEstablishApiHooks _hEstablishApiHooksW
#define IsModuleLoaded _IsModuleLoadedW
#define hIsModuleLoaded _hIsModuleLoadedW
#define LoadAndCall _LoadAndCallW
#define hLoadAndCall _hLoadAndCallW
#define UnloadModule _UnloadModuleW
#define hUnloadModule _hUnloadModuleW
#define HookApi _HookApiW
#else
#define EstablishApiHooks _EstablishApiHooksA
#define hEstablishApiHooks _hEstablishApiHooksA
#define IsModuleLoaded _IsModuleLoadedA
#define hIsModuleLoaded _hIsModuleLoadedA
#define LoadAndCall _LoadAndCallA
#define hLoadAndCall _hLoadAndCallA
#define UnloadModule _UnloadModuleA
#define hUnloadModule _hUnloadModuleA
#define HookApi _HookApiA
#endif //#ifdef UNICODE
#pragma comment(lib,"SbApiHooks.lib")
#else
#define __NORMAL0Q 1
#ifdef __cplusplus
#define __XTRN194 extern "C" __declspec(dllimport)
#else
#define __XTRN194 __declspec(dllimport)
#endif
#pragma comment(lib,"bApiHooks.lib")
#endif //#ifdef AH_STATIC_LINKING
#else
#define __NORMAL0Q 1
#ifdef _MSC_VER
#ifdef __cplusplus
#define __EXPORT extern "C" __declspec(dllexport)
#else
#define __EXPORT __declspec(dllexport)
#endif
#ifdef AH_STATIC_LINKING
#ifdef __cplusplus
#define __XTRN194 extern "C"
#else
#define __XTRN194 extern
#endif
#pragma comment(lib,"SApiHooks")
#else
#ifdef __cplusplus
#define __XTRN194 extern "C" __declspec(dllimport)
#else
#define __XTRN194 __declspec(dllimport)
#endif
#pragma comment(lib,"ApiHooks")
#endif
#else
#define __XTRN194
#define __EXPORT
#endif //#ifdef _MSC_VER
#endif //#ifdef __TURBOC__
#ifdef __NORMAL0Q
__XTRN194 DWORD __stdcall EstablishApiHooksA(PRCINFO pRCI, LPCSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall hEstablishApiHooksA(PRCINFO pRCI, LPCSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall EstablishApiHooksW(PRCINFO pRCI, LPCWSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall hEstablishApiHooksW(PRCINFO pRCI, LPCWSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall IsModuleLoadedA(PRCINFO pRCI, LPCSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall hIsModuleLoadedA(PRCINFO pRCI, LPCSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall IsModuleLoadedW(PRCINFO pRCI, LPCWSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall hIsModuleLoadedW(PRCINFO pRCI, LPCWSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds);
__XTRN194 DWORD __stdcall UnloadModuleA(PRCINFO pRCI, LPCSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds, DWORD HowManyTimes);
__XTRN194 DWORD __stdcall hUnloadModuleA(PRCINFO pRCI, LPCSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds, DWORD HowManyTimes);
__XTRN194 DWORD __stdcall UnloadModuleW(PRCINFO pRCI, LPCWSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds, DWORD HowManyTimes);
__XTRN194 DWORD __stdcall hUnloadModuleW(PRCINFO pRCI, LPCWSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds, DWORD HowManyTimes);
__XTRN194 DWORD __stdcall LoadAndCallA(PRCINFO pRCI, LPCSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds, DWORD HowManyTimes, LPCSTR ApiNameOrOrd, DWORD nArgs, LPVOID pArgs);
__XTRN194 DWORD __stdcall hLoadAndCallA(PRCINFO pRCI, LPCSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds, DWORD HowManyTimes, LPCSTR ApiNameOrOrd, DWORD nArgs, LPVOID pArgs);
__XTRN194 DWORD __stdcall LoadAndCallW(PRCINFO pRCI, LPCWSTR lpszDll, DWORD ProcessId, LONG dwMilliseconds, DWORD HowManyTimes, LPCWSTR ApiNameOrOrd, DWORD nArgs, LPVOID pArgs);
__XTRN194 DWORD __stdcall hLoadAndCallW(PRCINFO pRCI, LPCWSTR lpszDll, HANDLE hProcess, LONG dwMilliseconds, DWORD HowManyTimes, LPCWSTR ApiNameOrOrd, DWORD nArgs, LPVOID pArgs);
__XTRN194 DWORD __stdcall RemoteExecute(PRCINFO pRCI, DWORD ProcessId, LONG dwMilliseconds, LPVOID lpBlock, DWORD BlockSize, LPVOID lpParameter);
__XTRN194 DWORD __stdcall hRemoteExecute(PRCINFO pRCI, HANDLE hProcess, LONG dwMilliseconds, LPVOID lpBlock, DWORD BlockSize, LPVOID lpParameter);
__XTRN194 DWORD __stdcall HookApiA(LPCSTR ModuleExport, LPCSTR ApiNameOrOrd, DWORD dwFlags, LPCVOID ModuleImport, PAPI_UNHOOK ApiUnhook, LPVOID HookAddress, HANDLE ExcludeModules[]);
__XTRN194 DWORD __stdcall HookApiW(LPCWSTR ModuleExport, LPCWSTR ApiNameOrOrd, DWORD dwFlags, LPCVOID ModuleImport, PAPI_UNHOOK ApiUnhook, LPVOID HookAddress, HANDLE ExcludeModules[]);
__XTRN194 DWORD __stdcall CallOrigFn(LPCSTR ModuleExport, LPCSTR ApiNameOrOrd, DWORD dwFlags, LPCVOID OrigFn, PAPI_UNHOOK ApiUnhook, DWORD nArgs, LPVOID pArgs);
__XTRN194 PRCINFO __stdcall GetDefaultRCInfo(VOID);
__XTRN194 BOOL __stdcall UnhookApis(PAPI_HOOK lpAHChain, LONG nAHooks);
__XTRN194 DWORD __stdcall GetProcFlags(DWORD ProcessId);
__XTRN194 DWORD __stdcall hGetProcFlags(HANDLE hProcess);
#ifdef UNICODE
#define EstablishApiHooks EstablishApiHooksW
#define hEstablishApiHooks hEstablishApiHooksW
#define IsModuleLoaded IsModuleLoadedW
#define hIsModuleLoaded hIsModuleLoadedW
#define LoadAndCall LoadAndCallW
#define hLoadAndCall hLoadAndCallW
#define UnloadModule UnloadModuleW
#define hUnloadModule hUnloadModuleW
#define HookApi HookApiW
#else
#define EstablishApiHooks EstablishApiHooksA
#define hEstablishApiHooks hEstablishApiHooksA
#define IsModuleLoaded IsModuleLoadedA
#define hIsModuleLoaded hIsModuleLoadedA
#define LoadAndCall LoadAndCallA
#define hLoadAndCall hLoadAndCallA
#define UnloadModule UnloadModuleA
#define hUnloadModule hUnloadModuleA
#define HookApi HookApiA
#endif
#endif
#define ORIGFN(HookNo, nArgs, pArgs)\
(CallOrigFn(ApiHookChain[(HookNo)].ModuleExport,\
ApiHookChain[(HookNo)].ApiNameOrOrd,\
ApiHookChain[(HookNo)].dwFlags,\
ApiHookChain[(HookNo)].ModuleImport,\
ApiHookChain[(HookNo)].UnhookAddresses,\
(nArgs), (pArgs)))
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -