开源
功能说明:该程序是一个基于易语言开发的Windows API钩子(Hook)工具,核心功能是通过内存补丁方式动态拦截并篡改系统kernel32.dll中的关键文件I/O函数,包括CreateFileA、GetFileSize、ReadFile和SetFilePointer。程序在启动时首先获取这四个API函数在内存中的真实地址,随后对CreateFileA实施Inline Hook:将原函数起始8字节替换为一条跳转指令(mov eax, offset NEWCreateFileA;jmp eax),使其执行流程重定向至自定义的NEWCreateFileA子程序。当目标程序尝试以指定名称(示例中硬编码为“天地英雄.txt”)调用CreateFileA打开文件时,程序会先还原原始API代码以确保正常调用(避免死循环或崩溃),执行原始创建逻辑获取文件句柄,再根据预设条件(如文件名匹配)进行干预——当前代码中虽仅含占位式字符串比较与指针写入(“写字节集内存 (, 欲写地址, 到字节集 (判断文本))”,此行实际逻辑不完整且存在语法错误,疑似未完成的调试残留),但结构清晰表明其设计意图是实现对特定文件访问的识别、记录、阻断、重定向或内容注入。其余三个函数(GetFileSize/ReadFile/SetFilePointer)已声明拦截变量并预留了安装入口(如“拦截取文件长度 ()”等调用),说明程序具备扩展为完整文件读写行为监控的能力。综上,本程序本质是一个轻量级的用户态文件API监控与劫持工具,典型应用场景包括:软件版权保护(拦截关键授权文件)、恶意软件分析沙箱(观测样本文件行为)、游戏外挂辅助(修改资源加载路径)、或教学演示API Hook技术原理。其标题应准确反映其核心技术手段(API钩子)与作用对象(文件操作),而非具体应用目的,故归纳为“文件操作API钩子拦截程序”。
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ a1641242
| |
| |------ 拦截打开文件
| |
| |------ NEWCreateFileA
| |
| |------ 写字节集内存
| |
| |------ 取文本指针
| |
| |------ 卸载
| |
| |------ 读入文件函数模型
| |
| |------ 拦截取文件长度
| |
| |------ NEWGetFileSize
| |
| |------ 拦截文件读入
| |
| |------ NEWReadFile
| |
| |------ 读字节集内存
| |
| |------ 拦截文件读写位置
| |
| |------ NEWSetFilePointer
| |
| |
======调用的Dll
| |
| |---[dll]------ 修改虚拟保护
| |
| |---[dll]------ 取函数地址
| |
| |---[dll]------ 取模块句柄
| |
| |---[dll]------ lms520_创建文件
| |
| |---[dll]------ lms520_取文件尺寸
| |
| |---[dll]------ lms520_读入数据
| |
| |---[dll]------ lms520_设置读写位置
| |
| |---[dll]------ lms520_关闭内核对象
| |
| |---[dll]------ 取文本指针_
| |
| |---[dll]------ 取自进程ID
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ 写内存字节集
| |
| |---[dll]------ 关闭对象
| |
| |---[dll]------ 读内存字节集
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。