apihooks.bas

来自「Cracker终结者——提供最优秀的软件保护技术」· BAS 代码 · 共 76 行

BAS
76
字号
Attribute VB_Name = "IncludeModule"
Public Const HOOK_EXPORT       As Long = 1
Public Const HOOK_IMPORT       As Long = 2
Public Const HOOK_BY_ADDRESS   As Long = 4
Public Const HOOK_HARD         As Long = 8
Public Const HOOK_NO_UNBIND    As Long = 16

Public Const HOOK_EXACT        As Long = HOOK_EXPORT Or HOOK_IMPORT
Public Const HOOK_ALL          As Long = HOOK_EXPORT Or HOOK_BY_ADDRESS
  
Public Const HOOKS_END         As Long = -1
Public Const HOOKS_DYNAMIC     As Long = -2
 
Public Const ALL_MODULES       As Long = -1

Public Const ErrorSuccess      As Long = 0
Public Const ErrorException    As Long = 1
Public Const ErrorOpenProcess  As Long = 2
Public Const ErrorRemoteAlloc  As Long = 3
Public Const ErrorRemoteExec   As Long = 4
Public Const ErrorRemoteFree   As Long = 5
Public Const ErrorTimeOut      As Long = 9


Public Type ADDRESS_CONTENTS
    ReturnWhere As Long
    ReturnWhat  As Long
End Type

Public Type API_UNHOOK
    MaxNoAddr   As Long
    CurNoAddr   As Long
    WhereWhat() As ADDRESS_CONTENTS
End Type

Public Declare Function IsModuleLoaded Lib "ApiHooks.dll" _
    Alias "IsModuleLoadedA" _
    (ByVal lpszDll As String, ByVal lProcessID As Long _
    ) As Long

Public Declare Function LoadAndCall Lib "ApiHooks.dll" _
    Alias "LoadAndCallA" _
    (ByVal lpszDll As String, ByVal lProcessID As Long, _
    ByVal HowManyTimes As Long, ByVal ApiNameOrOrd As Any _ 
    ) As Long

Public Declare Function UnloadModule Lib "ApiHooks.dll" _
    Alias "UnloadModuleA" _
    (ByVal lpszDll As String, ByVal lProcessID As Long, _
    ByVal HowManyTimes As Long) As Long

Public Declare Function HookApi Lib "ApiHooks.dll" _
    Alias "HookApiA" ( _
    ByVal ExportModule As Any, _
    ByVal ApiNameOrOrd As Any, _
    ByVal dwFlags As Long, _
    ByVal ImportModule As Any, _
    UnhookAddresses As Any, _
    ByVal HookAddress As Long, _
    ByRef ExcludeModules As Any _
    ) As Long

Public Declare Function EstablishApiHooks Lib "ApiHooks.dll" _
    Alias "EstablishApiHooksA" _
   (ByVal lpszDll As String, ByVal lProcessID As Long) As Long

Public Declare Function EstablishApiHooksTime Lib "ApiHooks.dll" _
    Alias "EstablishApiHooksTimeA" _
   (ByVal lpszDll As String, ByVal lProcessID As Long, _
    ByVal dwMilliseconds As Long) As Long

Public Declare Function EstablishApiHooksTimeNT Lib "ApiHooks.dll" _
    Alias "EstablishApiHooksTimeNTA" _
   (ByVal lpszDll As String, ByVal lProcessID As Long, _
    ByVal dwMilliseconds As Long) As Long

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?