接上文,本文讲述,上面分析的内容的具体实现方法1[本文涉及的游戏仅为技术交流] 主要思路1->屏蔽或者修改assets目录下的游戏资源文件,使游戏能正常运行的前提下,不再显示各种浪费配置的技能特效,甚至屏蔽各种地图、玩家、怪物、NPC 模型等 下面我们看一个u3d游戏的assets资源目录结构 通过名称分析即可得知,相应的目录含有特效、装备、地图、人物等模型和特效资源 那么我们根据实际情况进行分析: 1、游戏不会对相关资源文件进行哈希值等校验的情况,比如上面的例子 那么直接破坏对应的游戏资源就可能使游戏不再加载或者显示对应的特效或者模型 实现方法很简单,你可以手动或者写个程序清空对应的资源文件即可 2、游戏不会对相关资源文件进行哈希值等校验,但是游戏运行依赖于某些资源文件,清零资源文件则不能加载的情况 逆向解包u3d资源文件,修改删除某些模型资源后,再打包资源文件 用到的工具如下: DisUnity 大牛写的 .unity3d .assets 等 U3D资源文件 逆向工具 -----DisunityGui Disunity的GUI界面版本 ,方便使用 PVRTexTool .KTX文件查看转换工具 -----PVRTexTool\GUI 软件的GUI界面版本 XnView .tga文件查看工具 Blender 类似 3dmax maya 的修改制作模型程序 Unitt3D 用于打包资源文件 DisUnity解包 .unity3d的资源文件,得到如下类型的文件 其中一般包含 模型、贴图等文件 我们主要修改的是 Mesh中的obj模型文件和Texture2D中的贴图文件 当然相关的tga和ktx文件也可以再解包出来png文件 修改相或者删除关资源文件后,即可用unity3d将修改转后后的模型打包成资源文件 3、游戏会对相关资源文件进行哈希值等校验 那么就需要修改 assets\bin\Data\Managed下的Assembly-CSharp.dll 中的校验机制,破坏校验算法 方可使用上述的资源修改 由于论坛审核要求3篇文章,所以实现方法1写完,实现方法后面继续写 欲知后事如何,且听下文分解! 声明:本文章为原创文章,编写初衷是为了申请逆向未来的论坛会员和该论坛会员分享一下自己的心得,严禁任何未经授权的转载!
|