‘壹’ 侠隐阁反编译解包方法教程
战棋RPG游戏侠隐阁已经在steam平台发售一胡正御段时间,游戏目前开放第一章全部内容,有玩家已经成功解包了部分游戏内容,下面给大家分享玩家“一川草满城风”带来的解包方法
(一)反编译工具
dnSpy 是一款针对 .NET 程序的逆向工程工具,基于 ILSpy 发展而来的 .net 程序集的编辑,反编译,调试神器。该项目包含了反编译器,调试器和汇编编辑器等功能组件,而且可以通过自己编写扩展插件的形式轻松实现扩展。该项目使用 dnlib 读取和写入程序集,以便处理有混淆代码的程序(比如恶意程序)而不会崩溃。为了方便吧友,我推荐一个下载地址吧(留言或者私聊我)。unity的源码都存放在dll中,那么反编译的工作就是把从dll 中提取出源码,基本上我们的代码都在Assembly-CSharp.dll这个文件中,将游戏安装路径 PathOfwuxia_DataManagedAssembly-CSharp.dll文件拖动到dnspy反编译工具中就实现了破解,我们就能看见c#源码啦,爽!
举个例子,在Heluo.Data中CharacterInfoData里面能看见一个清销函数GetPredictionDamage用来计算预估伤害,我们点开这个函数裤岩跳到SkillData能看见具体计算方式,比如用到了攻击方攻击(CharacterProperty.Attack)和倍率(coefficient))。
(二)资源提取工具
相比于Disunity与UnityAssetsExplorer工具,AssetStudio 拥有可视化界面,可以批量导出贴图,模型,字体,音频等,可以预览,最新版支持Unity5.x,所以在这使用AssetStudio作为资源提取工具。为了方便吧友,这里我推荐一个下载地址(留言或者私聊我)。使用方法:点击菜单 File 中的“Load folder”,载入 unity 游戏的 Assets -bin -data 文件夹。也可以选择“Load file”,载入 .unity3d 或者 .boundle ,.assets文件。
我们加载PathOfWuxiaAssetBundlesconfig,如下图所示。点一下Asset list,现在就能为所欲为了,啦啦啦。举个例子,点下Skill我们能看见所有技能的数据。
‘贰’ C# 反编译软件的使用(dnspy)
为了实现C#代码的反编译,dnSpy是一个强大的选择。首先,你需要在github上下载dnSpy,地址为github.com/0xd4d/dnSpy/...。
随后,打开dnSpy软件,将需要反编译的C#生成的.exe文件和dll拖拽至软件中。接着,选择菜单目录“文件”,点击“导出到工程”,将文件导出至指定位置。
在导出的工程文件中,利用Visual Studio进行打开时,你可能会遇到找不到资源文件.resx的问题。此时,需要将通过dnSpy反编译得到的窗体资源文件,将.resource文件转换为.resx后缀的文件。
接着,使用Visual Studio开发者工具,执行命令形式的"resgen xx.resourse xx.resx"来完成资源文件的重新生成。例如,参考下图所示的操作,将窗体的资源文件重新导入至Visual Studio。