⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apihooks.h

📁 Cracker终结者——提供最优秀的软件保护技术
💻 H
📖 第 1 页 / 共 2 页
字号:
    __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 + -