发布于:2017-11-13 14:38 | 104695次阅读 作者: 管理员 | 原作者: 外部投稿
在一款游戏辅助中,按键和控件的作用都是很特殊的,他们往往都可以达到普通发包无法达到的效果,有时一个很复杂的发包可以通过参数很简单的按键CALL来触发。接下来我们以《天涯明月刀》为例来分析一下按键CALL。 按键CALL常见的突破口有两种,一种是通过明文包,在触发某些按键功能时断下,这时我们逐条返回,有可能会找到按键CALL。另一种是比较传统的也就是通过按键改变某些标志位,下写入断点断到按键CAL。而这款游戏用第一种方法即可。 首先我们在汇编窗口中跟随到明文包的头部,下断,通过对话的F键进行下断并返回。由于VM的代码特别多,使我们无法顺利的返回到按键CALL,所以我们要想其他的方法。既然单纯的按键很难达到我们要的效果,那我们继续尝试通过组合按键来返回。使用shift加w键的翻滚组合来下断(如图)
其实这里断到的是一个技能包,不过无所谓,我们继续返回,找到了一个只有按键会断下的CALL(如图) 这里是一个结构体作为参数的CALL,我们很轻易的在结构体内发现了我们按下的“1”键的键码“31”,继续分析其他的按键的结构体,最终得到了如下的结论 $ ==> >00000000 $+4 >00000005 $+8 >00000001 0代表按键按下 1代表的是弹起 $+C >00000057 键码 $+10 >00000000 +12处写入01 表示shift按下 +11处写入01 表示ctrl按下 $+14 >00000000 $+18 >FFFF0000
如果我们想调用翻滚技能,只需按如下顺序调用按键CALL shift按下---W按下----W弹起----shift弹起 这样我们的按键功能就可以实现了,相对于很多游戏来说,这款游戏的按键调用过程还是比较复杂的。 来源:外部投稿 |
最新评论
发表评论