[CE教程]子弹的另类修改实现逃跑吧!少年稳定子弹
灵感来源尾巴.在逃跑吧!少年中,我们可以找到子弹访问地址进行nop
到达无限子弹修改.
所以今天给大家带来的是汇编地址修改方法。
温馨提示:其它功能也可以理解汇编修改哦**** Hidden Message *****
汇编命令分析:Vdec
dec是减1指令 当这个指令执行时减1
参照游戏是枪战类的此命令为指令执行时,狙击枪子弹数量减1
要锁定子弹的数量,第一种方法是用nop指令
进入汇编模板后
把dec 这条指令删除
填充对应机器码个数的nop指令
如
字节 指令
ff 4c b9 48 dec
汇编中就这样写
nop
nop
nop
nop
pop edi (此处为未删除的指令)
方法二 指令用掉的子弹加0
add byte ptt ,0
方法三 指令用掉的子弹减0
sub byte ptt ,0
方法四 跳过这条指令达到未执行也就不会减少子弹数量
jmp exit
originalcode: //标号
dec
exit: //标号
pop edi
jmp returnhere
我们来分析一下:jmp exit,转到标号exit处执行指令,那么dec 这条指令被跳过没有执行,那么子弹的数量就会保持不变,从
而达到与锁定子弹数量一样的效果,pop edi这条代码本来是和dec 放在一起的,该代码不能被跳过,否则游戏会崩溃,所以要把它
放到标号exit下面。分析结束,任务完成
第二个情况是让子弹数量只加不减
要让子弹数量只增不减,可以把dec指令改为inc指令,inc是加1指令,与dec刚刚相反,要实现当子弹数量大于6时停止增加,可用条件转移指令jb,当然还需要与cmp指令配合使用
cmp ,6
jb originalcode
mov byte ptt ,6
jmp exit
originalcode:
inc
们来分析一下。首先把dec改为inc,子弹数量加1,然后用cmp指令,拿子弹数量即
的数值与6比较,用jb指令如果低于6则转
移到标号originalcode处执行指令,子弹数量正常增加,如果不低于6,则不转移,mov byte ptr ,6
这条代码执行后,子弹数量写入
6,子弹数量就固定在6了,下面用jmp exit这条指令跳到exit处,跳过了inc 这条代码不被执行,如果不跳过,子弹数量加1,子弹
数量就变成7而不是6了,分析完毕,任务完成
啥也不说了,感谢楼主分享哇! 么有分,谁能送我点积分啊::>_<:: 啥也不说了,感谢楼主分享哇! 啥也不说了,感谢楼主分享哇! 有技术的 666666 确实是难得好帖啊,顶先 么有分,谁能送我点积分啊::>_<:: 啥也不说了,感谢楼主分享哇! 66666666666666666666666666666666666666666666666666666666666666666
66666666666666
啥也不说了,感谢楼主分享哇! 啥也不说了,感谢楼主分享哇!