//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言枚举消息钩子模块源码
系统结构:读内核地址数据,枚举钩子,取钩子PTI,取首地址,取钩子类型,卸载钩子,取自定义类型地址,到长整数一,ZwSystemDebugControl,卸载钩子_,GetModuleFileNameExA,
======程序集1
| |
| |------ _启动子程序
| |
| |
======内核操作
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 读内核地址数据
| |
| |------ 枚举钩子
| |
| |------ 取钩子PTI
| |
| |------ 取首地址
| |
| |------ 取钩子类型
| |
| |------ 卸载钩子
| |
| |
======程序集2
| |
| |------ 取自定义类型地址
| |
| |------ 到长整数一
| |
| |
======调用的Dll
| |
| |---[dll]------ _提权
| |
| |---[dll]------ _装载DLL
| |
| |---[dll]------ _取库函数地址
| |
| |---[dll]------ _释放DLL
| |
| |---[dll]------ _指针_读字节集
| |
| |---[dll]------ _指针_读整数型
| |
| |---[dll]------ ZwSystemDebugControl
| |
| |---[dll]------ 卸载钩子_
| |
| |---[dll]------ _移动内存
| |
| |---[dll]------ _指针_读长整数
| |
| |---[dll]------ _取指针_整数型
| |
| |---[dll]------ GetModuleFileNameExA
| |
| |---[dll]------ _打开进程
| |
| |---[dll]------ _关闭对象
调用的DLL命令:
.DLL命令 _提权, 整数型, "ntdll.dll", "RtlAdjustPrivilege", , ntdll.dll
.参数 Privilege, 整数型
.参数 Enable, 逻辑型
.参数 CurrentThread, 整数型
.参数 ret, 整数型, 传址
.DLL命令 _装载DLL, 整数型, , "LoadLibraryA"
.参数 lpLibFileName, 文本型
.DLL命令 _取库函数地址, 整数型, , "GetProcAddress", 公开
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 _释放DLL, 整数型, , "FreeLibrary", 公开, kernel32.dll
.参数 模块句柄, 整数型
.DLL命令 _指针_读字节集, 整数型, , "RtlMoveMemory", , kernel32.dll
.参数 Dest, 字节集
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 _指针_读整数型, 整数型, , "RtlMoveMemory", , kernel32.dll
.参数 Dest, 整数型, 传址, 数据
.参数 Source, 整数型, , 指针
.参数 Length, 整数型, , 长度决定1单,2短,4整,8长
.DLL命令 ZwSystemDebugControl, 整数型, "ntdll.dll", "ZwSystemDebugControl", , ntdll.dll
.参数 Command, , , 8
.参数 InputBuffer, _MEMORY_CHUNKS, 传址
.参数 InputBufferLength
.参数 OutputBuffer
.参数 OutputBufferLength
.参数 ReturnLength, , 传址
.DLL命令 卸载钩子_, 整数型, , "UnhookWindowsHookEx", , 钩子
.参数 hHook, 整数型
.DLL命令 _移动内存, , , "RtlMoveMemory"
.参数 Destination, 整数型, , 指针
.参数 Source, 整数型, , 指针
.参数 Length, 整数型
.DLL命令 _指针_读长整数, , , "RtlMoveMemory", , kernel32.dll
.参数 Dest, 长整数型, 传址, 数据
.参数 Source, 整数型, , 指针
.参数 Length, 整数型, , 长度决定1单,2短,4整,8长
.DLL命令 _取指针_整数型, 整数型, , "lstrcpyn"
.参数 目的指针, 整数型, 传址
.参数 源指针, 整数型, 传址
.参数 复制长度, 整数型, , 0
.DLL命令 GetModuleFileNameExA, 逻辑型, "psapi.dll", "GetModuleFileNameExA", , PSAPI.DLL
.参数 hProcess, 整数型, , 进程句柄
.参数 hModule, 整数型, , 模块句柄
.参数 lpFilename, 字节集, , 名称
.参数 nSize, 整数型, , 大小
.DLL命令 _打开进程, 整数型, , "OpenProcess", , kernel32.dll
.参数 访问级别, 整数型, , 2035711完全访问
.参数 子进程继承, 整数型, , 0为子进程继承
.参数 进程ID, 整数型, , 要打开的进程标识
.DLL命令 _关闭对象, 整数型, , "CloseHandle", , kernel32.dll
.参数 对象句柄, 整数型
