添加多几个二段的脚本如下
[ENABLE] //脚本开启
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(dm,512) //分配0x200的空白内存
label(th)//定义一个标签
label(pd1)//定义一个标签
label(pd2)//定义一个标签
dm:
cmp [eax],#8200 //要替换的代码 判断 eax的值是否=8200
jne pd1 //eax不等于8200则跳转到pd1这个标签
mov [eax],#70102 //用作替换的代码 eax=8200就把eax的值改成70102
jmp th//跳到原型返回
pd1:
cmp [eax],#8200//另外一个二段
jne pd2
mov [eax],#70102
jmp th//跳到原型返回
pd2:
cmp [eax],#8200//另外一个二段
jne th
mov [eax],#70102
th:
mov ecx,[edi] //HOOK用到的字节照抄
add eax,4 //HOOK用到的字节照抄
ret //由于我用的是CALL 而不是jmp CALL会push返回位置所以直接ret即可
02519B49: //把02519B49这个地址 CALL到 dm这段内存
CALL dm
[DISABLE] //脚本关闭
//code from here till the end of the code will be used to disable the cheat
02519B49: //把02519B49 恢复为原来的字节
mov ecx,[edi]
add eax,4