LOADING

加载过慢请开启缓存 浏览器默认开启

某游戏的解密经验

最近研究神秘东西上头了,但不想花太多钱下去,经过一番网上寻找,终于成功运行

准备工作

本文章不提供全部文件,请自行寻找,不做技术支持,本文章仅做经验分享
默认你已经有必要的东西,在开始之前,你需要预留100G左右的空间

首先你需要到这里获取解密所需要的文件,还要一个python环境

创建一个文件,作为工作区,把tools/Filesystem/fsdecrypt.exe复制进去,当然你也可以把要解密的东西直接扔进tools/Filesystem,你还可以直接cmd里运行fsdecrypt.exe

然后你需要找到解密所需的AES KEY,在keys/AES128_Nu_ALLS下,找到XXXX.BIN的文件,你可以复制到tools/Filesystem/下,也可以不复制,这以SDEZ.app演示

解密

运行cmd,进入你的工作目录,快捷一点就是路径栏里直接敲cmd,输入fsdecrypt.exe可以获取到帮助提示

fsdecrypt.exe [密钥] [offset偏移量] [输入] [输出]

上面不是帮助的原始输出,稍微试着汉化了一下

用Hex编辑器打开XXXX.BIN文件,文件原本只要一行,加入第二行NTFS文件头EB 52 90 4E 54 46 53 20 20 20 20 00 10 01 00 00,cmd运行下面命令:

fsdecrypt.exe SDEZ.BIN 0x200000 SDEZ.app out.vhd

后面发现好像必须是out.vhd,除非有能力手动更改calculate_iv.py里的部分

输出的out.vhd并不是真正的vhd文件,这只是解密的第一步

接着我们进入tools/Filesystem/calculate_iv/文件夹,把刚刚的SDEZ1.app复制/剪切过去(如果你有技术可以改改calculate_iv.py文件自定义路径),
运行cmd,输入:

python calculate_iv.py

从输出的内容中找到key1,复制下来,打开刚刚用到的SDEZ.BIN,删除之前的EB 52 90 4E 54 46 53 20 20 20 20 00 10 01 00 00,把key1粘贴上去,再次运行:

刚刚的out.vhd已经没用了,可以删了

fsdecrypt.exe SDEZ.BIN 0x200000 SDEZ.app SDEZ2.vhd

等到运行结束,用Imdisk挂载新的out.vhd,将里面的vhd文件复制出来,装载,就可以运行了,后面的segatools请自行寻找

OPT

opt 镜像用的是 tools/Filesystem 中的 fstool.exekeys/AES128_Nu_ALLS 中的 OPT.bin

命令如下

fstool.exe dec OPT.bin file.opt out.vhd

得到的是一个 exFAT 格式的原始镜像。提取其中的文件可以使用 PowerISO 来解压

提防PowerISO装捆绑软件,你也可以选择装了exFAT插件的7z

参考资料:

单机游戏资源解密方法记录

从 .APP 到可以运行的游戏