高级玩家

- 贡献度
- 48
- 金元
- 2929
- 积分
- 485
- 精华
- 0
- 注册时间
- 2020-2-14
|
这个调整伤害倍数挺麻烦的(我做的是全局的,要做局部的只需要加个判断是否为玩家就可以了)
(虽说调整了伤害倍数,但是受伤跳出来的伤害数值是没有改的)
[ENABLE]
aobscan(INJECT0025,89 82 F0 00 00 00 8B 4D 0C)
alloc(newmem,$1000)
alloc(wjnewmem_HP,4)
registersymbol(wjnewmem_HP)
alloc(drnewmem_HP,4)
registersymbol(drnewmem_HP)
alloc(Damage_Multiply,4)
registersymbol(Damage_Multiply)
alloc(Damage,4)
registersymbol(Damage)
label(drnewmem)
label(cycle_mul_1)
label(cycle_mul_2)
label(code)
label(return)
newmem:
//伤害倍数 Damage_Multiply
//伤害 Damage
//=======================================================
//=====================全局伤害倍数========================
//=======================================================
cmp dword ptr[Damage_Multiply],#0//是否选择伤害倍数,0为禁用
jle cycle_mul_1
//在这里获取伤害值
mov eax,[ebp-48]//从这里开始借用eax
mov [Damage],eax
mov eax,[Damage_Multiply]
mov edx,[Damage]//从这里开始借用edx
//在这里循环
cycle_mul_2:
add [ebp-48],edx
dec eax//自减
cmp eax,#0
jg cycle_mul_2
mov edx,[ebp+08]//这里恢复edx
mov eax,[edx+000000F0]//这里恢复eax
sub eax,[ebp-48]//改变生命值
mov [ebp-64],eax//对[ebp-64]重新赋值
//========================================================
cycle_mul_1:
cmp [edx+00000287],40
jne drnewmem
cmp dword ptr[wjnewmem_HP],#0//是否选择锁定玩家生命值
je code
mov eax,[edx+000000F0]
mov [edx+000000F0],eax
jmp return
drnewmem:
cmp dword ptr[drnewmem_HP],#0//是否选择秒杀敌人
je code
sub eax,eax
mov [edx+000000F0],eax
jmp return
code:
mov [edx+000000F0],eax
jmp return
INJECT0025:
jmp newmem
nop
return:
registersymbol(INJECT0025)
[DISABLE]
INJECT0025:
db 89 82 F0 00 00 00
unregistersymbol(INJECT0025)
dealloc(newmem)
unregistersymbol(drnewmem_HP)
dealloc(drnewmem_HP)
unregistersymbol(wjnewmem_HP)
dealloc(wjnewmem_HP)
unregistersymbol(Damage_Multiply)
dealloc(Damage_Multiply)
unregistersymbol(Damage)
dealloc(Damage)
|
|