第一个条件在上一篇记录中已经实现,第二个条件需要确定阳光减少指令。
任意开始一局游戏,利用CE定位当前阳光值的地址。
在该地址上右键选择“Find out what writes to this address”,确定哪些地址对该阳光值进行了修改。
从指令上可以看出,第一条指令是增加阳光值的指令,第二条是修改阳光值的指令。
实现目标的方法有很多,我就任意选择了一种。
双击第二条指令,可以看到详细信息。
在 0x0041BA74 处是减法指令,可以猜测出esi中存储的是当前阳光值,而ebx存储的是需要减去的阳光值。
比较直接的方式就是将该指令nop掉,也可以将ebx改为 0x0,只要不减少阳光值即可。