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