射击游戏无后坐力修改分析

2019.01.07 -

无后坐力的修改,对于CS这类射击游戏能大大的提高胜率,而后坐力的修改必然是在射击函数的附近或者写在射击函数里。 首先找到射击函数(如图)

这是射击函数,单独调用这个函数我们发现后坐力是有的,这说明后坐力的相关胆码就在这个函数内部,于是我们在头部下断后单步执行了整个函数,发现这个函数里一共有12个子程序(如图)

我们分别把每一个子程序进行nop,这里要注意的是堆栈要保持平衡。最终发现,只有最后一个子程序修改后可以让我们的视野不在抖动,而并没有哪一个子程序可以改变枪的抖动效果。这说明枪的抖动代码并不是在子程序内部,而是在函数本层。想让枪达到抖动效果,必然要对内存中枪的坐标或者朝向等值进行写入,而函数中对内存进行写入的代码并不多,我们逐条NOP后,发现在几条关键的代码处nop可以使我们的枪平稳射击(如图)

当然这样直接修改后可能会影响部分的游戏效果,还需要做一些细节的调整,我们只需要在附近的代码处继续分析,就能达到完美的无后坐力射击。
*转载自游戏安全实验室(GSLAB.QQ.COM)

阅 203
0

无后坐力的修改,对于CS这类射击游戏能大大的提高胜率,而后坐力的修改必然是在射击函数的附近或者写在射击函数里。