• 450阅读
  • 0回复

任鸟飞谈逆向----CS射击无后坐力修改分析 [复制链接]

上一主题 下一主题
离线任鸟飞
 

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




1.png (112.68 KB, 下载次数: 0)下载附件 1 分钟前 上传
这是AK47的射击函数,单独调用这个函数我们发现后坐力是有的,这说明后坐力的相关胆码就在这个函数内部,于是我们在头部下断后单步执行了整个函数,发现这个函数里一共有12个子程序(如图)




2.png (207.6 KB, 下载次数: 0)下载附件 1 分钟前 上传



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




3.png (237.62 KB, 下载次数: 0)下载附件 1 分钟前 上传
当然这样直接修改后可能会影响部分的游戏效果,还需要做一些细节的调整,我们只需要在附近的代码处继续分析,就能达到完美的无后坐力射击。
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个