好友
阅读权限25
听众
最后登录1970-1-1
|
Gslab
发表于 2018-2-27 10:35
【游戏安全实验室致力于游戏安全技术分享及交流,以后将在52pojie发布更多游戏安全相关技术分享,欢迎大家一起来讨论交流】
无后坐力的修改,对于CS这类射击游戏能大大的提高胜率,而后坐力的修改必然是在射击函数的附近或者写在射击函数里。 首先找到射击函数(如图)
这是AK47的射击函数,单独调用这个函数我们发现后坐力是有的,这说明后坐力的相关胆码就在这个函数内部,于是我们在头部下断后单步执行了整个函数,发现这个函数里一共有12个子程序(如图)
我们分别把每一个子程序进行nop,这里要注意的是堆栈要保持平衡。最终发现,只有最后一个子程序修改后可以让我们的视野不在抖动,而并没有哪一个子程序可以改变枪的抖动效果。这说明枪的抖动代码并不是在子程序内部,而是在函数本层。想让枪达到抖动效果,必然要对内存中枪的坐标或者朝向等值进行写入,而函数中对内存进行写入的代码并不多,我们逐条NOP后,发现在几条关键的代码处nop可以使我们的枪平稳射击(如图)
当然这样直接修改后可能会影响部分的游戏效果,还需要做一些细节的调整,我们只需要在附近的代码处继续分析,就能达到完美的无后坐力射击。
文章已获原作者——公众号《通化程序员》同意转载,如需转载请联系原作者
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|