-
-
[原创]玩转CE,第九关加入吸血护甲
-
发表于:
2017-3-12 11:55
7283
-
还记得初次进入看雪时的原因,就是因为CE闯关过不去了,然后就逛到看雪论坛来汲取能量,然后遇到了很多大牛……好像扯远了!
CE的第九关,有很多种解法,一般是锁定已方血量,或是直接将敌方的血量置零,进行秒杀。但是好像没啥意思,一开始游戏就看到敌方血不断减少,然后就结束了!
嘿嘿,我们来给两方都加上吸血护甲:这样受到攻击的时候,敌人的血不但不减少,还会增加!你肯定要问:那我方的血只有100点,敌方500点,还加上吸血护甲,我方能赢吗?这肯定要我方赢啊!因为我方的吸血护甲是天然无底限的!哈哈,敌方的吸血护甲有一定的限度,当护甲被攻破了,敌方就开始减血了。
好吧,那就开始搞了。至于怎么寻找到敌我双方血值代码修改点,敌我方队伍ID等,我就不介绍了,网上一大堆。直接到自动汇编里去进行脚本编辑:
CE的功能很强大了,自带个小OD。定位两处注入点如下:
然后Ctrl+A,进入自动汇编窗口进行脚本编写:
代码如下:
alloc(newmem,1024)
label(returnhere)
label(originalcode)
label(exit)
label(enemy)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
dd 100 // 定义敌方吸血型护甲(100h = 256点甲)
cmp [ebx+10], 1 // 判断敌我双方的队列ID号(1为我方,2为敌方)
jne enemy // 敌方受攻击处理
mov dword ptr[ebp-34],1
fild dword ptr[ebp-34]
fadd dword ptr[ebx+04] // 已方受攻击加1点血(天然吸血护甲)
jmp returnhere
enemy:
dec dword ptr[newmem]
cmp dword ptr[newmem], 0 // 护甲不为0,敌方不减血,还加血
jle originalcode // 护甲为0以后,开始减血
mov dword ptr[ebp-34], 1
fild dword ptr[ebp-34]
fadd dword ptr[ebx+04]
jmp returnhere
originalcode:
mov dword ptr[newmem], 0
fild dword ptr [ebp-34]
fsubr dword ptr [ebx+04]
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)