任鸟飞谈逆向----FPS游戏CS无后座力快速射击

社区服务
高级搜索
猴岛论坛CF穿越火线任鸟飞谈逆向----FPS游戏CS无后座力快速射击
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
13个回复

[综合讨论]任鸟飞谈逆向----FPS游戏CS无后座力快速射击

楼层直达
o任鸟飞o

ZxID:86155661

等级: 上等兵
举报 只看楼主 使用道具 楼主   发表于: 2019-05-29 0
任鸟飞谈逆向----FPS游戏CS无后座力快速射击
在FPS游戏中,射击函数是调用非常频繁的,如果要对每一颗子弹的射击情况进行服务器验证的话,对服务器的压力是非常大的。尤其是CS这种局域网游戏,对于早些年的低配置电脑来说,这种压力更加难以承受。所以射击函数的很多重要信息都是在本地进行验证的。下面我们通过篡改游戏代码的方式来达到无限子弹,无后坐力,快速射击三种功能。
我们用CS创建一个awp房间,玩家可以在这个地图上拾取到狙击木仓,我们要在这个地图中实现AK的无后座速射。
首先用CE对AK的子弹数量进行扫描,可以得到将近200个结果(如图)
[attachment=10280022]
分别对这些结果进行修改,发现其中的一个地址可以改变子弹的数量(如图)
[attachment=10280023]
用OD加载游戏,并在地址上下硬件写入断点,再次射击时游戏断下(如图)
[attachment=10280024]
我们可以看到子弹的数量是来源于eax的,而eax在上面来源于一个dec eax,也就是说每次代码经过这里,eax自减1。我们将这条dec改成nop就可以让子弹数量不变,如果将其改为inc的话,就可以让子弹越用越多,不过当子弹多到一个临界值就会归零,并从新递增。
我们返回到外层来观察一下这个射击函数(如图)
[attachment=10280025]
这个函数有3个参数,而且只有AK射击时会断下,这说明每一种木仓的射击函数是独立的。对三个参数进行分析,可以得出前面两个参数是浮点数,而第三个参数为0。这里我们先记录一下前两个参数的数值分别为0.009624999和0.09549999。
下面我们用同样的方法得到狙击木仓的射击函数(如图)
[attachment=10280026]
得出前两个参数为0.001和1.45,第三个参数也是0。第一个参数我们无法判断是什么,我们把两把木仓对比后可以发现第二个参数很有可能是木仓的射击间隔,也就是射击速度,因为这两个数值和两把木仓实际情况是匹配的。为了验证这一点,我们将AK的第二个参数改为0.001(如图)(如图)
[attachment=10280027]
[attachment=10280028]
这是我们进行射击可以看到射击速度明显变得快了很多,但是木仓的抖动也变得更加厉害。那么在解决了射击速度和子弹数量之后,我们的最后一个任务就是将窗口抖动解决掉。
为了验证抖动代码所在的位置,我们对AK的射击函数进行调用,发现单独调用这个函数窗口也会抖动,也就是说这个抖动代码是在函数内部的。
窗口抖动如果用代码去实现,其实就是对人物朝向的一种改变,在射击的同时对朝向值进行微调就可以达到抖动的效果。而这个朝向值往往是用浮点数存放的,所以我们在函数内部对浮点数写入代码进行分析。
在函数头部下断后,按F8逐条向下走,在1D901574处的函数的参数中有一些是对浮点数赋值的,我们观察下发现这些数值看起来都比较大,并不太适合做为一个朝向(如图)
[attachment=10280030]
于是我们继续向下分析,在1D901697 处可以看到一条浮点数写入代码,但是观察后发现这里写入的是射击间隔0.0099(如图)
[attachment=10280031]
继续向下看,我们发现函数马上就结束了,而结束前只剩下一个子函数没有进行分析(如图)
[attachment=10280032]
这个函数的参数都是浮点数,我们猜测这个函数就是窗口的抖动函数。这里有两种办法,第一种是到函数内部继续分析,找到抖动的精确代码,第二种是直接将函数NOP掉,那么同样不会经过抖动代码。我们选择简单粗暴的第二种,当然在nop函数前还要观察平栈情况。函数共有7个函数,而函数内部会retn 1C,正好是平衡的,所以我们要讲7个参数和CALL都NOP掉(如图)
[attachment=10280033]
之后我们再次进行射击,发现木仓口非常平稳,这说明我们修改成功了。
但是当我们移动或者是跳跃,下坡时,发现这些改动都失效了,说明在不同的情况下射击经过的代码是不同的,为了能让人物在任何情况下都能无后座力速射,我们又改动了以下代码(如图)(如图)
[attachment=10280036]
[attachment=10280037]
这样我们就完成了对AK47的修改,大家可以尝试用同样的方法找到其他木仓的无后座速射。


本帖de评分: 1 条评分 DB +1
DB+1 2019-05-29

这时候心中两字:我草!      啥意思啊这是

     二爷。

ZxID:72280850

等级: 上将
待遇: 终身荣誉会员
举报 只看该作者 沙发   发表于: 2019-05-29 0
这时候心中两字:我草!      啥意思啊这是
~  素雅

ZxID:19263087

等级: 上将
归来仍是少年

举报 只看该作者 板凳   发表于: 2019-05-29 0
握草,看不懂,但是感觉很厉害的样子
浓雾漫山野

ZxID:18045872

等级: 大尉
举报 只看该作者 地板   发表于: 2019-05-29 0
我看不懂的,我就感觉超厉害的!
o任鸟飞o

ZxID:86155661

等级: 上等兵
举报 只看该作者 4楼  发表于: 2019-05-29 0
一起交流学习
我的眷恋

ZxID:252

等级: 总版主
配偶: 所谓英雄

举报 只看该作者 5楼  发表于: 2019-05-29 0
秒封
等级: 少将
[url=http://dwz.cn/2nckd][img]http://s1.houdao.71dm.com/11884/photo/Mon/2016/01/165167 ..
举报 只看该作者 6楼  发表于: 2019-05-29 0
一看就是吾爱破解搬来的  只不过搬到CF区干嘛~~~~
cf@1995

ZxID:42613967

等级: 上校
举报 只看该作者 7楼  发表于: 2019-05-29 0
cf能用?
33064d4d1

ZxID:70784443

等级: 大尉
举报 只看该作者 8楼  发表于: 2019-05-29 0
越南服说不定可以尝试
十里桃花她的家

ZxID:14956633

等级: 大将
举报 只看该作者 9楼  发表于: 2019-05-29 0
回 楼主(o任鸟飞o) 的帖子
广告从看雪做到了这里
九尾狐的yi巴

ZxID:24293480

等级: 元帅
待遇: 终身荣誉会员       星阶: ★★★★★

举报 只看该作者 10楼  发表于: 2019-05-29 0
被CF吊起来打
你要来一坨吗

ZxID:18216801

等级: 上将
举报 只看该作者 11楼  发表于: 2019-05-30 0
看不懂,但是你很牛逼
清風-

ZxID:63101225

等级: 大将
生活平淡如水,怎能不与她泛舟同游

举报 只看该作者 12楼  发表于: 2019-05-30 0
看清楚版块。。。
烂、苹果

ZxID:54790731

等级: 大将

举报 只看该作者 13楼  发表于: 2019-05-30 0
前两天在知乎看见一模一样的

际遇之神

惩罚

在论坛潜水撞到鱼雷,损失医药费DB5

[fly][fly][fly][fly].
« 返回列表
发帖 回复