开源删帖
功能说明:该代码为易语言(EPL)编写的底层系统操作辅助类库,主要功能是实现 Easy Language 与 Windows 操作系统底层 API 的深度交互。代码结构清晰,划分为“调试类”、“函数类”和“内存类”三个主要程序集,涵盖了动态链接库管理、内存控制、汇编级函数调用及网络代理测试等核心功能模块。以下为各部分的详细总结:
一、总体架构与功能定位
本程序并非一个独立的应用软件(如聊天室、游戏等),而是一个供开发者调用的基础框架或工具库。其设计目的是弥补易语言在直接访问系统底层资源时的限制,通过封装 Windows API 和嵌入汇编指令,实现对进程内存、DLL 模块以及外部函数的精准控制。这类代码通常被用于开发高级自动化脚本、安全测试工具、系统维护软件或需要绕过常规限制的辅助工具中。
二、程序集详解
1. .程序集 调试类
此部分主要负责程序的初始化入口及简单的功能测试验证。
- _启动子程序:作为程序入口,执行后调用临时子程序输出调试信息(包含交流群号),并随即调用“测试”子程序。
- 测试子程序:主要演示了文本处理逻辑,调用了自定义的“清除 HTML 代码_慢”函数进行两次 HTML 标签清理。此外,代码注释中包含了一系列 HTTP 代理 IP 地址和 URL(如 best-proxies.ru),暗示该库可能曾用于网络爬虫或需要代理的网络请求工具的测试环节,但核心逻辑仍聚焦于文本清洗与输出。
2. .程序集 函数类
这是该类库的核心部分之一,专注于动态链接库(DLL)的操作及复杂的外部函数调用机制。
- DLL 管理:提供了标准的 DLL 生命周期管理接口,包括“函数_载入DLL"(使用_装载DLL)、“函数_卸载DLL"(使用_释放DLL)。这使得开发者可以在运行时动态加载第三方模块。
- 函数地址获取:实现了对导出函数的寻址,“函数_取函数指针”根据函数名获取地址,“函数_取函数指针_序号”根据导出序号获取地址。这两个功能是间接调用 DLL 内未公开函数或隐藏函数的基础。
- 便捷获取器:“函数_取指针”封装了加载 DLL、获取地址到卸载的完整流程,提高了单次调用的便利性。
- 钩子与窗口回调:定义了“钩子回调”和“窗口回调”,内部使用了“下一个钩子”和"CallWindowProcA"API。这表明该库支持 Windows 消息拦截(Hook)技术,可用于监控系统事件、修改应用程序行为或拦截键盘鼠标输入。
- 底层调用引擎:
* “调用子程序__"及“调用子程序_”:这是最关键的功能。通过“置入代码”直接写入机器码(Assembly),实现了在易语言环境中调用任意内存地址处的函数。它支持最多 10 个参数传递,并能处理返回值。这种机制允许开发者直接调用 C/C++ 编写的标准 API 或经过编译的其他模块函数,不受易语言自身子程序定义的约束。
* “调用子程序_文本单参”:针对带单个文本参数的函数进行了简化封装。
3. .程序集 内存类
此部分提供了对内存区域的精细管理能力,是许多底层工具(如内存修改器、注入器)的基石。
- 分配与释放:通过“内存_申请”和“内存_释放”分别映射 LocalAlloc 和 LocalFree API,支持指定内存长度及清零选项。
- 状态检查:提供“内存_尺寸”用于查询已分配内存块的实际大小。
- 权限控制:“内存_保护”映射 VirtualProtect API,允许修改内存页的属性(如从只读改为可读写),这是修改受保护数据的关键步骤。
- 读写操作:提供了“内存_读整数”、“内存_写整数”、“内存_读短整数”、“内存_写短整数”等功能。这些子程序大量使用了“置入代码”(内联汇编),通过 MOV 指令直接在指定偏移量上操作内存数据,效率高且避免了中间转换开销。
- 内存搬运:“内存_复制”映射 RtlMoveMemory(即 CopyMemory)API,用于大段数据的内存拷贝操作。
三、核心技术特点
1. 混合编程模式:代码中频繁出现“置入代码 ({ ... })”指令,这是易语言的高级特性,允许直接插入十六进制机器码。这证明了该程序追求极致的执行效率和对硬件的直接控制权,常用于易语言原生能力无法覆盖的场景。
2. API 封装:将复杂的 Windows API(如 LoadLibrary, GetProcAddress, VirtualProtect 等)封装成易语言友好的子程序,降低了后续开发的门槛。
3. 通用性设计:函数调用部分支持多达 10 个参数的变通处理,配合参数类型转换(如 To Integer),试图兼容不同类型的 C 函数接口。
四、总结与应用场景推测
综上所述,这段代码是一个典型的易语言高级系统开发组件。它解决了易语言在处理复杂数据结构、调用非标准 DLL 接口以及进行内存读写时的痛点。
潜在应用场景包括:
1. 游戏辅助开发:读取游戏内存数值(血量、金币等)或修改内存属性。
2. 软件破解与逆向工程:加载加密 DLL,调用内部函数进行验证绕过。
3. 自动化办公与 RPA:通过 Hook 技术模拟用户操作或抓取特定窗口消息。
4. 网络安全工具:利用代理功能测试连接,结合内存操作分析目标进程。
注意:由于该类库涉及底层内存修改和函数注入,在使用时需注意操作系统的稳定性,不当的内存访问可能导致程序崩溃或系统蓝屏。同时,此类工具常被用于灰色地带用途,建议仅用于合法的系统研究与软件开发学习。整个代码片段展示了易语言生态中“底层外挂化”编程的典型范式。
======调试类
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 备注
| |
| |------ 测试
| |
| |
======函数类
| |
| |------ 函数_载入DLL
| |
| |------ 函数_卸载DLL
| |
| |------ 函数_取函数指针
| |
| |------ 函数_取函数指针_序号
| |
| |------ 函数_取指针
| |
| |------ 函数_取指针_序号
| |
| |------ 钩子回调
| |
| |------ 窗口回调
| |
| |------ 调用子程序__
| |
| |------ 调用子程序_文本单参
| |
| |------ 调用子程序_
| |
| |
======内存类
| |
| |------ 内存_申请
| |
| |------ 内存_释放
| |
| |------ 内存_尺寸
| |
| |------ 内存_保护
| |
| |------ 内存_读整数
| |
| |------ 内存_写整数
| |
| |------ 内存_写短整数
| |
| |------ 内存_读短整数
| |
| |------ 内存_复制
| |
| |------ 内存_优化
| |
| |------ 内存_写字节集
| |
| |------ 内存_读字节集
| |
| |------ 内存_写文本
| |
| |------ 内存_读文本
| |
| |------ 原子_加1
| |
| |------ 原子_减1
| |
| |------ 取子程序地址
| |
| |------ 取子程序真实地址
| |
| |------ 取指针_字节集
| |
| |------ 取指针_文本型
| |
| |------ 取指针_整数型
| |
| |------ 取指针_逻辑型
| |
| |------ 取指针_整数数组
| |
| |------ 分割线
| |
| |------ _申请内存
| |
| |------ _释放内存
| |
| |------ _内存写字节集
| |
| |------ _内存读字节集
| |
| |
======窗口类
| |
| |------ 取窗口标题_
| |
| |------ 取窗口类名
| |
| |------ 置窗口标题
| |
| |------ 信息框_
| |
| |------ 信息框2_
| |
| |------ 窗口销毁
| |
| |------ 窗口销毁_
| |
| |------ 取窗口边框尺寸
| |
| |------ 置窗口边框尺寸
| |
| |------ 取窗口信息
| |
| |------ 窗口最大化
| |
| |------ 窗口最小化
| |
| |------ 总在最前
| |
| |------ 禁止
| |
| |------ 窗口置父
| |
| |------ 取父窗口句柄
| |
| |------ 窗口重画
| |
| |------ 接管窗口消息
| |
| |
======键鼠类
| |
| |------ 键鼠_取键状态
| |
| |------ 键鼠_取功能键状态
| |
| |------ 移动鼠标
| |
| |------ 按键_
| |
| |------ 监视热键
| |
| |------ 撤销监视
| |
| |------ 热键过程
| |
| |
======系统类
| |
| |------ 取CPU核心数
| |
| |------ 取目录_windows
| |
| |------ 取目录_System32
| |
| |------ 取目录_桌面
| |
| |------ 取特殊目录
| |
| |------ 取操作系统版本
| |
| |------ 打开指定网址_1
| |
| |------ 打开指定网址_2
| |
| |------ 系统_写启动项
| |
| |------ 目录是否存在
| |
| |------ 取屏幕宽度_
| |
| |------ 取屏幕高度_
| |
| |
======进程类
| |
| |------ 提升进程权限
| |
| |------ 提升进程权限D
| |
| |------ 创建进程
| |
| |------ 取自进程ID
| |
| |------ 取自进程伪ID
| |
| |------ 取进程路径
| |
| |------ 取进程模块
| |
| |------ 取进程ID
| |
| |------ 进程是否有效
| |
| |------ 进程枚举
| |
| |------ 进程结束
| |
| |------ 进程隐藏
| |
| |------ 取进程EProcess
| |
| |------ 十六文本至长整数
| |
| |------ 读物理内存
| |
| |------ 写物理内存
| |
| |------ 打开进程
| |
| |
======线程类
| |
| |------ 启动线程_
| |
| |------ 销毁线程_
| |
| |------ 关闭句柄
| |
| |------ 线程挂起
| |
| |------ 线程恢复
| |
| |------ 线程取状态
| |
| |------ 线程取返回值
| |
| |------ 线程等待
| |
| |------ 置优先级
| |
| |------ 取优先级
| |
| |------ 取自线程ID
| |
| |------ 取自线程伪ID
| |
| |------ 创建进入许可证_
| |
| |------ 进入许可区_
| |
| |------ 退出许可区_
| |
| |------ 删除进入许可证_
| |
| |------ 线程池_启动
| |
| |------ 线程池_工作线程
| |
| |------ 线程池_加入工作
| |
| |------ 线程池_销毁
| |
| |------ 线程池_取任务数
| |
| |------ 线程池_全部暂停
| |
| |------ 线程池_全部运行
| |
| |
======HTTP类
| |
| |------ GET读文件
| |
| |------ POST读文件
| |
| |------ 下载文件
| |
| |------ HTTP_内部使用
| |
| |------ HTTP_补充协议头
| |
| |------ HTTP_状态解析
| |
| |------ 取域名
| |
| |------ 取端口
| |
| |------ 取页面地址
| |
| |------ 取IP地址_
| |
| |------ 转换URL编码
| |
| |------ 转换URL解码
| |
| |------ 置cookies
| |
| |------ 清空cookies
| |
| |------ 取cookies
| |
| |------ 时间到GMT格式_
| |
| |------ GMT格式到时间_
| |
| |------ 取时间戳_Unix
| |
| |------ 时间到时间戳
| |
| |
======GDIS类
| |
| |------ 取窗口场景设备
| |
| |
======转换类
| |
| |------ 十六到十
| |
| |------ 十到十六
| |
| |------ 去除首部零
| |
| |------ 到十六进制文本
| |
| |------ 转换图像格式
| |
| |------ 到十进制数
| |
| |------ IP到整数
| |
| |------ IP到文本
| |
| |------ 坐标转范围
| |
| |------ 范围转坐标
| |
| |------ URL中文编码
| |
| |------ URL编码
| |
| |------ URL解码
| |
| |------ Base64编码
| |
| |------ Base64解码
| |
| |------ RC4_加密
| |
| |------ RC4_解密
| |
| |------ rc4自动识别
| |
| |------ Ansi转Unicode
| |
| |------ Unicode转Ansi
| |
| |------ Utf8转Unicode
| |
| |------ Unicode转Utf8
| |
| |------ Ansi转Utf8
| |
| |------ Utf8转Ansi
| |
| |
======爱易链
| |
| |------ 爱易链创建
| |
| |------ 爱易链压入
| |
| |------ 爱易链弹出
| |
| |------ 爱易链销毁
| |
| |
======堆栈类
| |
| |------ 栈_初始化
| |
| |------ 栈_压入
| |
| |------ 栈_弹出
| |
| |------ 栈_清空
| |
| |------ 栈_数量
| |
| |------ 堆_初始化
| |
| |------ 堆_取出
| |
| |------ 堆_释放
| |
| |------ 堆_销毁
| |
| |
======拖放类
| |
| |------ 注册文件拖放事件
| |
| |------ 文件拖放函数
| |
| |------ 撤消文件拖放事件
| |
| |
======类用类
| |
| |------ 子程序1
| |
| |
======数据类
| |
| |------ 填充字节集
| |
| |------ 还原字节集
| |
| |------ 单字节换行符替换
| |
| |------ 还原字节集2
| |
| |------ 查看字节集2
| |
| |------ 查看字节集
| |
| |
======句柄类
| |
| |------ 枚举子窗口
| |
| |------ 取任务栏句柄
| |
| |------ 取窗口进程
| |
| |------ 发送消息_
| |
| |------ 投递消息_
| |
| |------ 取前台窗口句柄
| |
| |------ 取前台活动窗口
| |
| |------ 取焦点句柄
| |
| |------ 编辑框_发送文本
| |
| |------ 窗口闪动
| |
| |------ 取坐标句柄
| |
| |------ 取鼠标所在位置句柄
| |
| |------ 取进程窗口
| |
| |
======内核类
| |
| |------ 创建内核对象
| |
| |------ 等待对象信号
| |
| |------ 等待内核对象
| |
| |------ 发送完成端口数据
| |
| |------ 创建同步事件对象
| |
| |------ 打开同步事件对象
| |
| |
======加解密
| |
| |------ MD5
| |
| |------ GZIP压缩
| |
| |------ GZIP解压
| |
| |------ GZIP初始化
| |
| |------ QEHash
| |
| |
======其它类
| |
| |------ 调试输出字节集
| |
| |------ _模块_调用转向
| |
| |------ 设置定时器
| |
| |------ 销毁定时器
| |
| |------ 取随机颜色
| |
| |------ 生成汇编代码
| |
| |------ 取时间戳
| |
| |
======钩子类
| |
| |------ _销毁
| |
| |------ 取地址
| |
| |------ 卸载
| |
| |------ 安装
| |
| |------ 调用原函数
| |
| |
======sock类
| |
| |------ _初始化
| |
| |------ 预载入函数
| |
| |------ 安装socket
| |
| |------ 卸载socket
| |
| |------ 创建
| |
| |------ 连接
| |
| |------ 阻塞
| |
| |------ 销毁
| |
| |------ 取回错误
| |
| |------ IP到整数
| |
| |------ IP到文本
| |
| |------ 端口转换
| |
| |------ 可写检查
| |
| |------ 可读检查
| |
| |------ 错误检查
| |
| |
======映射表
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 添加
| |
| |------ 是否存在
| |
| |------ 删除
| |
| |------ 删除全部
| |
| |------ 取所有值
| |
| |------ 取所有键
| |
| |------ 取项目数
| |
| |------ 取值
| |
| |------ 置键
| |
| |------ 置值
| |
| |------ 置匹配模式
| |
| |------ 取匹配模式
| |
| |
======字节流
| |
| |------ 创建
| |
| |------ 销毁
| |
| |------ 取句柄
| |
| |------ 置句柄
| |
| |------ 扩容
| |
| |------ 加入指针
| |
| |------ 加入字节集
| |
| |------ 取数据
| |
| |------ 取数据_指定
| |
| |------ 取长度
| |
| |------ 清空数据
| |
| |
======文件流
| |
| |------ _销毁
| |
| |------ 打开
| |
| |------ 关闭
| |
| |------ 取位置
| |
| |------ 移到首
| |
| |------ 移到尾
| |
| |------ 取长度
| |
| |------ 是否在文件尾
| |
| |------ 读入字节集
| |
| |------ 写出字节集
| |
| |------ 清空字节集
| |
| |------ 读入一行
| |
| |------ 移动读写位置
| |
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。