易语言Hook演示源码
系统结构:Hook,GetOldAddress,GetHookAsmLen,卸载,Call,CALL_,Kernel32,GetApiAddress,GetProcOffset,GetTextAddress,GetByteAddress,GetDwordAddress,Strlen,Bytelen,CopyMemory,ZeroMemory,GetAddressData,查看字节集,取路径文件名,GetDword,GetWord,GetByte,GetAsmLength,Admin,启动窗口,加入列表,新窗口程序,ProcAddress,ExceptionProc,Hook,New_OpenProcess,New_WriteProcessMemory,New_MessageBox,New_CreateRemoteThread,New_CreateFileA,New_RegOpenKeyA,New_RegOpenKeyExA,New_RegCreateKeyA,New_RegCreateKeyExA,New_RegQueryValueA,New_RegQueryValueExA,New_RegSetValueA,New_RegSetValueExA,Hook,GetOldAddress,UnHook,Hook,GetOldAddress,UnHook,CloseHandle,CreateThread,FreeLibrary,GetModuleHandle,LoadLibrary,GetProcAddress,VirtualProtect,Malloc,Free,Sizeof,SetWindowLong,RegisterHotKey,CallWindowProc,UnregisterHotKey,PathFindFileName,SetUnhandledExceptionFilter,EXCEPTION_RECORD,CONTEXT,EXCEPTION_POINTERS,
======Inline_Hook
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ Hook
| |
| |------ GetOldAddress
| |
| |------ GetHookAsmLen
| |
| |------ 卸载
| |
| |
======汇编操作_程序集
| |
| |------ Call
| |
| |------ CALL_
| |
| |------ Kernel32
| |
| |------ GetApiAddress
| |
| |------ GetProcOffset
| |
| |------ GetTextAddress
| |
| |------ GetByteAddress
| |
| |------ GetDwordAddress
| |
| |------ Strlen
| |
| |------ Bytelen
| |
| |------ CopyMemory
| |
| |------ ZeroMemory
| |
| |------ GetAddressData
| |
| |------ 查看字节集
| |
| |------ 取路径文件名
| |
| |------ GetDword
| |
| |------ GetWord
| |
| |------ GetByte
| |
| |------ GetAsmLength
| |
| |
======窗口程序集
| |
| |------ _启动子程序
| |
| |------ Admin
| |
| |------ 启动窗口
| |
| |------ _窗口_创建完毕
| |
| |------ 加入列表
| |
| |------ _窗口_可否被关闭
| |
| |------ 新窗口程序
| |
| |------ _窗口_将被销毁
| |
| |------ _窗口_首次激活
| |
| |
======处理过程
| |
| |------ ProcAddress
| |
| |------ ExceptionProc
| |
| |------ Hook
| |
| |------ New_OpenProcess
| |
| |------ New_WriteProcessMemory
| |
| |------ New_MessageBox
| |
| |------ New_CreateRemoteThread
| |
| |------ New_CreateFileA
| |
| |------ New_RegOpenKeyA
| |
| |------ New_RegOpenKeyExA
| |
| |------ New_RegCreateKeyA
| |
| |------ New_RegCreateKeyExA
| |
| |------ New_RegQueryValueA
| |
| |------ New_RegQueryValueExA
| |
| |------ New_RegSetValueA
| |
| |------ New_RegSetValueExA
| |
| |
======IAT_Hook
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ Hook
| |
| |------ GetOldAddress
| |
| |------ UnHook
| |
| |
======EAT_Hook
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ Hook
| |
| |------ GetOldAddress
| |
| |------ UnHook
| |
| |
======调用的Dll
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ Malloc
| |
| |---[dll]------ Free
| |
| |---[dll]------ Sizeof
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ RegisterHotKey
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ UnregisterHotKey
| |
| |---[dll]------ PathFindFileName
| |
| |---[dll]------ SetUnhandledExceptionFilter
| |
| |---[dll]------ EXCEPTION_RECORD
| |
| |---[dll]------ CONTEXT
| |
| |---[dll]------ EXCEPTION_POINTERS
调用的DLL命令:
.DLL命令 CloseHandle, 逻辑型, , "CloseHandle", , 关闭句柄
.参数 hObject, 整数型
.DLL命令 CreateThread, 整数型, , "CreateThread", , 启动线程
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 LpthreadId, 整数型, 传址
.DLL命令 FreeLibrary, 整数型, "kernel32.dll", , , 释放动态库
.参数 hModule, 整数型
.DLL命令 GetModuleHandle, 整数型, , "GetModuleHandleA", , 获取动态链接库基址
.参数 lpModuleName, 整数型
.DLL命令 LoadLibrary, 整数型, , "LoadLibraryA", , 加载动态链接库
.参数 lpLibFileName, 文本型
.DLL命令 GetProcAddress, 整数型, , "GetProcAddress", , 获取函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 VirtualProtect, 逻辑型, , "VirtualProtect", , 变更认可页面区域上的保护
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 Malloc, 整数型, , "GlobalAlloc"
.参数 uFlags, 整数型
.参数 uBytes, 整数型
.DLL命令 Free, 整数型, , "GlobalFree"
.参数 hMem, 整数型
.DLL命令 Sizeof, 整数型, , "LocalSize"
.参数 hMem, 整数型
.DLL命令 SetWindowLong, 子程序指针, , "SetWindowLongA"
.参数 窗口句柄, 整数型
.参数 特征索引, 整数型
.参数 新特征, 子程序指针
.DLL命令 RegisterHotKey, 整数型, "user32.dll", "RegisterHotKey"
.参数 hWnd, 整数型
.参数 id, 整数型
.参数 fsModifoers, 整数型
.参数 vk, 整数型
.DLL命令 CallWindowProc, 整数型, , "CallWindowProcA"
.参数 窗口程序程序指针, 子程序指针
.参数 窗口句柄, 整数型
.参数 消息, 整数型
.参数 参数1, 整数型
.参数 参数2, 整数型
.DLL命令 UnregisterHotKey, 整数型, , "UnregisterHotKey"
.参数 hWnd, 整数型
.参数 HotKeyID, 整数型
.DLL命令 PathFindFileName, 整数型, "shlwapi.dll", "PathFindFileNameA", , 成功返回路径文本指针地址
.参数 pszPath, 文本型
.DLL命令 SetUnhandledExceptionFilter, 整数型, "Kernel32.dll", "SetUnhandledExceptionFilter"
.参数 异常处理函数地址, 整数型
.DLL命令 EXCEPTION_RECORD, , , "RtlMoveMemory"
.参数 Destination, EXCEPTION_RECORD, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 CONTEXT, , , "RtlMoveMemory"
.参数 Destination, CONTEXT, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 EXCEPTION_POINTERS, , , "RtlMoveMemory"
.参数 Destination, EXCEPTION_POINTERS, 传址
.参数 Source, 整数型
.参数 Length, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。