[ENABLE] ; 分配内存空间 alloc(value, 64) ; 分配 64 字节的内存,命名为 value,用于存储字符串 alloc(newmem, 64) ; 分配 64 字节的内存,命名为 newmem,用于存储自定义代码 ; 自定义代码段 newmem: pushad ; 保存所有通用寄存器的值到栈中 push value ; 将 value 的地址(字符串 '22222.cfg')压入栈中 mov ecx, [0368B420] ; 将内存地址 0368B420 处的值加载到 ecx 寄存器 call lin.bin+B640F0 ; 调用 lin.bin 模块中偏移量为 B640F0 的函数 popad ; 恢复所有通用寄存器的值 mov eax, 00000201 ; 将 eax 寄存器的值设置为 00000201 jmp return_here ; 跳转到 return_here 标签处,继续执行原始代码 ; 修改游戏内存中的指令 "lin.bin"+10745F7: jmp newmem ; 将原始代码替换为跳转到 newmem 标签处 return_here: ; 存储字符串 value: db '22222.cfg', 0 ; 定义一个以 null 结尾的字符串 '22222.cfg' [DISABLE] ; 恢复原始代码 "lin.bin"+10745F7: mov eax, 00000201 ; 将原始代码恢复为 mov eax, 00000201 ; 释放分配的内存 dealloc(value) ; 释放 value 内存空间 dealloc(newmem) ; 释放 newmem 内存空间 麻烦用大漠插件英文版本 函数 转成易语言 可运行的 谢谢 |
欢迎光临 精易论坛 (https://125.confly.eu.org/) | Powered by Discuz! X3.4 |