FPS手游逆向分析--------矩阵

FPS手游逆向分析--------矩阵,第1张

寻找游戏矩阵

谈谈个人对于矩阵的理解:所谓矩阵就是相机 即人物视角 当今的游戏人物的移动分为两部分:游戏世界中的人物在移动和相机的移动 相机的移动使得玩家可以跟得上人物的行动 如果游戏中的人物在移动,相应的相机也会移动 同样的 转动视角其实就是在转动相机 人物前后移动相机也会动。那我们是不是可以利用不断地改变矩阵来搜索游戏中变动的值从而找到矩阵呢。Of course 但是如果你拿来一个矩阵demo你就会发现,前后移动人物的时候 相机矩阵只有两个值在动 左右移动同理 这四个值中有一个值是不管左右还是前后移动都在变化的 所以我们实际找的就是这一个值 找到以后转到此地址如果是16条那么就是找到了矩阵  

那么接下来就是找到游戏的矩阵

1.1首先要知道游戏的矩阵在什么内存中 不同游戏所使用的引擎不同所以矩阵位置也不一样

Unity引擎的游戏矩阵在CA内存;UE4(虚幻4)引擎的游戏矩阵在A内存(这样说并不严谨 只是本地的矩阵在CA和A内存 还有一个云端矩阵)

1.2知道了游戏的矩阵在什么内存以后有两种方式找到矩阵

①如开头的方框中所说 模糊到那一个一直在变动的矩阵值 这个值在矩阵头部 根据这个值的地址就可以找到矩阵

上+下-类似于数学中的坐标系(实际上就是坐标系)

向上转动视角搜索变大了 向下转动视角搜索变小了 如此反复直到剩大概几百条值的时候挨个跳进去看 有没有矩阵的特征 矩阵特征在后面会讲

②特征码寻找矩阵

手游特征码:h00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 00 00

端游特征码:00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 00 00

打开选择对应的内存直接搜索此特征码即可

搜到的数值改善 63 搜索列表全部保存

保存下来以后随便找一个值转到此地址(因为这几个值的地址都很接近所以找哪个值都是一样的)其实这个时候矩阵就已经找到了 但是值太多不容易看出来哪一条是

需要再次搜索

全选替换搜索列表类型是F类型

转动一下视角再次模糊有变化

还是随便找一个值转到此地址 就是矩阵附近

1.3如何区别是不是找到了矩阵

这里同样的 不同的引擎矩阵特征也不一样

不论是ue4还是unity 矩阵内部16个值至少有一个是0F

Unity引擎矩阵 头小尾大,全是小数,最后两个相似,头尾上下各有不变值

Ue4 引擎矩阵  头小尾大,中间至少3个固定值 (ue3引擎的矩阵还有一个特征就是最后两个值很接近一般整数部分都是相同的) 实际上找到了连在一起的16个值 周围都是0F而且转动视角会变化 那大概率就是矩阵

除了上述的两条矩阵必有的特征以外

此外游戏中还有假矩阵的存在

以下的三个特征如果出现了任意一条那么就说明这一定不是矩阵

1.3.1 ue4和unity通矩阵头上没有固定值的

1.3.2unity引擎矩阵最后2个不相似不是最大的值

1.3.3. ue4引擎矩阵内没有3个固定值的

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/2989861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-25
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存