窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 原始字节码 | 字节集 | | 进程ID | 整数型 | | jz | 整数型 | |
进程ID = 进程_名取ID ("game.exe" ) jz = 进程_取模块jz (进程ID, "cshell.dll" ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | 浮点数地址 | 整数型 | | | 修改地址 | 整数型 | | | 浮点数值 | 小数型 | | | 新指令 | 字节集 | | |
浮点数地址 = jz + 到整数 ("200", 16 ) 修改地址 = jz + 到整数 ("A8C05E", 16 ) 新指令 = { 217, 5 } + 到字节集 (浮点数地址 ) + { 144 } 浮点数值 = 1000000000.0 写内存小数型 (进程ID, 浮点数地址, 浮点数值 ) 原始字节码 = 读内存字节集 (进程ID, 修改地址, 7 ) 写内存字节集 (进程ID, 修改地址, 新指令 )修改地址 = jz + 到整数 ("A8C05E", 16 ) 写内存字节集 (进程ID, 修改地址, 原始字节码 ) [color=rgba(0, 0, 0, 0.9)]代码说明:- 使用精易模块的进程操作和内存读写功能
- 全局变量保存原始指令用于恢复
- 十六进制地址转换使用易语言内置进制转换
- 指令构造说明:
- fld dword ptr 对应机器码 D9 00 格式(需根据实际地址修正)
- nop指令对应90
- 内存写入时需注意进程权限,可能需要先调用提升权限函数
[color=rgba(0, 0, 0, 0.9)]注意:实际使用时需要根据具体进程信息调整: - 修改"game.exe"为实际目标进程名
- 可能需要添加权限提升代码
- 建议添加错误处理机制
- 地址偏移值需要确认实际内存布局
- 指令长度需要与实际替换指令长度匹配
|