解码的套路(一) | 您所在的位置:网站首页 › Asset翻译 › 解码的套路(一) |
本篇文章我将分享一下自己对于解码的研究心得。 解码在黄油中是比较小众的一个概念,有些人玩了一大堆黄油到头来可能连游戏能否解码都不清楚,并且即使知道能解码也找不到补丁的获得途径(本人亲生经历)。本着对解码的找不到补丁的无奈,于是自己从零研究解码终于研究出了一套方法。 本人每解码一款游戏后都会适当做下纪录,以后我将会以文章形式分享一些典型的案例。 以前的文章分享了封呪姫的一些较为重要的数据解密。 也提到过,Unity游戏解码的两种方式。 这两种解码方式各有优势,也有缺点。举个栗子: 1.对于一款资源文件全部打包的黄油来说,解码资源是比较坑爹的,一套流程下来不仅步骤繁琐,上传补丁直接就是资源包(对于一些体量大的游戏来说,就是下了一个本体,这与补丁的便利小巧矛盾)。 2.对于一款经常小更新的黄油来说,代码层面的解码就比较坑,即使能用,也会把游戏代码降维(兼容性极差)。不过听说可以hook但是要插件,这对我这种小白来说搞的太麻烦了。 本篇先介绍一下资源层面的解码。(只针对一款游戏,不做拓展) 封呪姫是2D游戏,通常来说2D游戏的码就是一张算法形成的马赛克贴图(原CG上马的游戏,不要考虑)。那么思路就很明确,我只要在资源文件中找到马赛克的材质Material文件,或者Material关联的着色器Shader然后干他(不是删)就行了。 那么问题来了,这马赛克资源去哪里找? 非常惭愧,本人能力有限,没有找到好的方法。是资源全用AssetStudio打开看一遍。 AssetStudio是专门针对unity游戏的资源解包工具。(仅解包) 游戏目录下: resources.assets sharedassets0.assets globalgamemanagers.assets 这三个文件,依次用AssetStudio查看,也可以直接打开文件夹,全部一起看。 resources.assets可见resources.assets下全是一些shader文件,这个先忽略,直接找shader太难了,代码又不是自己写这要是一个个看下去直接N年都没了。(直接黑人抬走) 下一个 globalgamemanagers.assets大致看了一下,因为globalgamemanagers.assets存的都是一些总的信息,马赛克是针对某个具体场景的所以一般不会这这里保存。(抬走) 就剩最后一个sharedassets0.assets,提醒一下通常解多了之后直接找sharedassets0.assets文件先看了再说。 由于AssetStudio这款软件的缺陷,(不能正确显示资源,无法修改资源) 就不墨迹用AssetStudio看了,直接用AssetBundleExtractor打开sharedassets0.assets ~~温馨提示:所有工具Github上都有自己找~~ AssetBundleExtractor是Unity资源的爸爸,作者的噩梦,可上天入地,无所不能。 sharedassets0.assets打开后大致扫了一眼,第二个Material文件这名字是不是暴露了,Mosaic就是马赛克 头号可疑对象,直接干他试试直接‘导出转储’,这里不能‘导出原始’,原始文件导出后没有任何意义(改不了)。当然也可以先点‘查看数据’看个大概。 找到Matrial之后如何改就需要对这种的理解了。 最先注意的是:PPtr m_Shader 这边是Material关联的shader,可以直接改它,这里说一下思路:找到对应的shader,把它的功能无效就行,说起来简单直接改,不如找个没用的shader替换来的实际。 这里着重看一下 int m_CustomRenderQueue = 3000; 通常理解是渲染顺序,这个值越小越早被渲染,(说人话就是渲染早了,会被后渲染的图层覆盖,对于马赛克来说就是失效),直接改 int m_CustomRenderQueue = 0 具体操作: ‘导出转储’——用文本打开——改它保存——‘导入转储’——保存——替换到原目录下——Over 当然这并不是万能的,有些游戏改这个是无效的,为什么无效呢?根据我的判断。可能是shader的限制,没学过Unity中shader和material的优先级。到那个时候改shader通常是有效的,具体怎么改,以后有案例了在写。 虽然看上去这个解码步骤挺简单的,但是如果是初次接触,并不会这么容易,很多东西要去一个个试,并不能一针见血。上面的内容都是在一大堆的试错之后总结的比较简单的过程。 最后就是看看成果,是不是真的解码了,直接上图(才怪) 下篇文章将详细的讲解一下代码层面的解码,这类教程和经验,网上几乎找不到,所以我将会写的比较详细,并且也会提到逆向中遇到的一些头痛的问题。 |
CopyRight 2018-2019 实验室设备网 版权所有 |