UltraDebug

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: A C D R G Y M Z X S P
公益项目,接受捐赠
查看: 1379|回复: 0
收起左侧

[原创] 对CS1.6游戏的分析及心得

[复制链接]
kugoumusic

主题

0

回帖

UD

新手上路

UID
18
积分
18
注册时间
2022-2-9
最后登录
1970-1-1
2022-3-5 23:00:36 | 显示全部楼层 |阅读模式
前言
前段时间分析了一下CS1.6游戏,一直没有时间整理思路写帖子,最近,由于疫情关系,忽然想起了这件事,又重新回顾了一下,写下这篇文章与网友们互相交流学习。
本文主要是讲一下指针扫描器和Ultimap的具体使用以及它的强大之处,然后讲一下自己分析游戏数据的一些心得,最后再用一个准星吸人的例子讲一下HOOK的心得


使用指针扫描器快速寻找基址
使用CE寻找基址,一般的思路就是


  • 查找游戏数据,找到数据的临时地址
  • 右键查看谁改变了这个地址指向的数据,得到一个地址X + 偏移
  • 然后我们再内存搜索地址X,得到很多地址Ys,一个个右键查看谁改变了这个地址Y指向的数据,刷新游戏然后再找地址



就这样,一层层的去上找,不断尝试,最终找到绿色的即为基址。可见这种找基址的方式非常的麻烦,这里介绍一个神奇的工具,CE的指针扫描器
我们开局游戏,添加几个机器人,(添加机器人的目的是,因为找到基址后,即便不刷新游戏,有的基址指向的数据是不断变化的,其实里面是敌人和队友的基址,为了排除这种情况,添加几个机器人)
拿HP做实现,找到HP的临时地址,右键->对这个地址进行指针扫描
对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

可以发现找到了403个数据


对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

然后我们进行筛选,这里我们可以通过最后一层偏移进行筛选,我们对HP数据右键->找出是什么改写了这个地址,扔个手雷使自己掉血


对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

可以发现,最后一层偏移是160,现今HP是4,下面进行筛选


对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

经过筛选后,进行排序,然后双击第一个,添加到数据列表,退出游戏重新打开,发现里面指向的数据仍然是自己的HP,它就是基址。
其实在筛选的过程中,还有一些其他技巧,比如这个例子,在找到改变HP的地址后,可以查看相关地区汇编代码来寻找倒数第2层偏移


对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

比如这里,可以发现mov eax, [esi+04],而 eax + 160是HP的地址,所以可以判断倒数第2层偏移是4,这样在筛选的时候可以加上二层偏移,当然也可以再往上找寻找倒数第3层偏移,使筛选的结果更准确。


通过搜索部分数据猜测游戏结构体来分析其他数据

通过上面指针扫描器的方法,我们又找到了一些其他数据的基址



属性地址
坐标X[[[cstrike.exe+11069BC]+7C]+4]+8
坐标Y[[[cstrike.exe+11069BC]+7C]+4]+C
坐标Z[[[cstrike.exe+11069BC]+7C]+4]+10
HP [[[cstrike.exe+11069BC]+7C]+4]+160
是否掉血(0免疫伤害)[[[cstrike.exe+11069BC]+7C]+4]+16C
护甲 [[[cstrike.exe+11069BC]+7C]+4]+1BC
阵营(1恐怖分子2反恐精英) [[cstrike.exe+11069BC]+7C]+1C8
我的金钱 [[cstrike.exe+11069BC]+7C]+1CC
随地购物(1) [[cstrike.exe+11069BC]+7C]+3C0
准星指向(0墙1友2敌) [[cstrike.exe+11069BC]+7C]+710
当前枪子弹数目 [[[cstrike.exe+11069BC]+7C]+5EC]+CC
当前枪后坐力 [[[cstrike.exe+11069BC]+7C]+5EC]+100
是否正在使用武器[[[cstrike.exe+11069BC]+7C]+5EC]+D4
左键冷却 [[[cstrike.exe+11069BC]+7C]+5EC]+B8


通过分析的这些数据可以猜测一下人物的结构体
[cstrike.exe+11069BC]+7c] 存放的是整个人物的基址
[[cstrike.exe+11069BC]+7c]+4] 存放的关于游戏内人物具体属性的具体地址
[[cstrike.exe+11069BC]+7c]+5EC] 存放的是使用武器的地址
我们通过猜测结构体,来到具体的内存位置,对人物进行操作,然后对内存进行观察,可以发现一些其他好玩的数据,这里我们来武器的地址为例



对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug


首先在地址列表中添加一个地址,指向当前的使用武器,通过切换武器来找到每个武器的地址,进而对相关内存区域进行对比
打开分析数据窗口,填入当前主武器,副武器,刀子的地址


对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug

对CS1.6游戏的分析及心得 - kugoumusic_UltraDebug


我们切换武器和左键点击,观察内存,对
还有更多的精彩内容,作者设置为付费后可见
UltraDebug免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
✅The above content is forwarded or original by netizens. If there is infringement, please send the email to the destination 9003554@qq.com handle.

相关帖子

回复 打印

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|站点地图|UltraDebug ( 滇ICP备2022002049号-2 滇公网安备 53032102000034号)

GMT+8, 2025-6-16 19:01 , Processed in 0.037556 second(s), 11 queries , Redis On.

Powered by Discuz X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表