易语言HOOK跳转函数源码
系统结构:MakeJmp,安装HOOK,卸载HOOK,MySleep,API_GetProcAddress,API_GetModuleHandle,API_CopyMemory,API_VirtualProtect,API_Sleep,API_MessageBox,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ MakeJmp
| |
| |------ 安装HOOK
| |
| |------ 卸载HOOK
| |
| |------ MySleep
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |------ _按钮3_被单击
| |
| |------ _按钮4_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ API_GetProcAddress
| |
| |---[dll]------ API_GetModuleHandle
| |
| |---[dll]------ API_CopyMemory
| |
| |---[dll]------ API_VirtualProtect
| |
| |---[dll]------ API_Sleep
| |
| |---[dll]------ API_MessageBox
调用的DLL命令:
.DLL命令 API_GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 API_GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 API_CopyMemory, , "kernel32", "RtlMoveMemory"
.参数 pDest, 整数型
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 API_VirtualProtect, 整数型, "kernel32", "VirtualProtect", , 修改虚拟保护
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 API_Sleep, , "kernel32", "Sleep", , 暂停线索
.参数 dwMilliseconds, 整数型
.DLL命令 API_MessageBox, 整数型, "user32", "MessageBoxA", , 建立消息框窗体
.参数 hwnd, 整数型
.参数 lpText, 文本型
.参数 lpCaption, 文本型
.参数 wType, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。