ESQT 发表于 2022-8-25 14:59

如何解密RPG Maker MZ的图形音频资源的加密?(第二篇)

本帖最后由 ESQT 于 2022-8-25 15:26 编辑

如何解密RPG Maker MZ的图形音频资源的加密?

这是第二次打算解开RPG Maker引擎制作的游戏的加密了。因为作者出新作了,第二作的制作水平也算是不错。不过这次作者使用了RPG Maker MZ进行制作,也是进行了特殊加密。与前作Nyakori'sRabbit Doll相比,这次的作品与前作的引擎RPG Maker MV不同,使用了优化稍好的RPG Maker MZ进行制作,加密也比前作更厉害了。因为对此作者的作品的喜爱,玩了之后就想要收藏此作品的资源。于是打算解密此作品的加密。

样本
链接:https://pan.baidu.com/s/1aHPa16qqHntbAVc_BbiV-w
提取码:qk59

分享的目录中有一个js文件
使用说明:
/* Paste this Code at the VERY END of "rpg_core.js" then start the game to retrieve the key */
/* Remove this function when you want to play this game again ;) - It was just to show the decryption-key*/
注意!!!:要正常启动样本,必须要要购买了这个游戏的steam

首先对比文件

左边是普通的RPG Maker MZ游戏文件

可以发现此作品的文件比普通RPG Maker MZ的游戏多了很多。

游戏根目录中audio文件夹内的.ogg文件无法播放

其中比较特别的是file0.data, file1.data, file2.data和boot.data,boot.index
file0.data, file1.data, file2.data的大小是149MB,大概就是游戏的资源文件
boot.data,boot.index大概是和启动有关






上图为要解密资源游戏的index.html,下图为普通RPG Maker MZ游戏的index.html
head部分几乎不变,第七行多出了 width=device-width, initial-scale=1, maximum-scale=1
body部分从读取main.js变成了读取main.bin



Js文件夹内,有两个bin文件,其中main.bin是index.html要读取的



查看main.bin,大概是index.html读取了main.bin,main.bin再读取其他js文件



libs


nya_workers


plugins

这三个文件夹内大概是游戏玩法的js插件,和启动与解密无关



左边是普通的RPG Maker MZ游戏的js目录,可以判断带rmmz字样的文件和plugins.js是游戏的必须js

右边的main.js被加密,且多出了一个nya.min.bin
由于main.js被加密,无法通过js文件突破
判断出解密前作Nyakori's Rabbit Doll的方法在此游戏上不通用


重新看回游戏根目录,发现一个readme.txt

本游戏的绝大部分素材均为原创,禁止对游戏进行解包并提取素材。请不要尝试修改游戏的源代码以及这个文件,这将导致游戏的自检程序判定当前环境为非法从而闪退。

游戏的最低运行环境:Chromium 57以上
从readme中得知此游戏的最低运行环境为Chromium 57以上,以及对整个游戏目录中的文件都有防修改检测


从这些信息中可以推算出,除非能关掉游戏的防修改文件检测,否则无从下手

运行游戏,游戏开头的加载时间比较长。先是游戏启动器的转圈,比正常RPG MakerMZ的游戏长了许多,之后才是作者自定义的Loading界面。可以判断,游戏显示检测文件,之后再加载游戏资源。 这个游戏和前作一样都是提前载入资源到内存,之后换场景都不用时间。以及禁止在浏览器运行

尝试修改readme.txt,游戏启动器在转圈时卡住,然后一片黑
在游戏目录发现文件nya_error.log
内容script file runtime error : readme.txt

尝试修改index.html,游戏正常运行

可以尝试在index.html上进行突破

Hope0918 发表于 2022-8-25 15:23

厉害,学习了{:1_921:}

iawyxkdn8 发表于 2022-8-25 16:13

厉害,学习了!

涛之雨 发表于 2022-8-25 23:36

(这就是我说的那种情况,v8字节码。。。搞不定)

ESQT 发表于 2022-8-26 00:33

涛之雨 发表于 2022-8-25 23:36
(这就是我说的那种情况,v8字节码。。。搞不定)

请问下v8字节码难在哪里?要实现这个游戏的逆向只能通过解析bin文件吗?

涛之雨 发表于 2022-8-26 07:57

ESQT 发表于 2022-8-26 00:33
请问下v8字节码难在哪里?要实现这个游戏的逆向只能通过解析bin文件吗?

难在没有v8引擎解密的例子。。。
有一个老外写了指定版本的反编译插件,但是也被删除了,

ESQT 发表于 2022-8-26 18:37

涛之雨 发表于 2022-8-26 07:57
难在没有v8引擎解密的例子。。。
有一个老外写了指定版本的反编译插件,但是也被删除了,

没有例子感觉会很困难,只能靠自己了(这个难度感觉没几十年都搞不定)。
还有那个反编译插件难道是因为触动了什么商业利益被删除的吗?

kmyxyjyld 发表于 2022-9-30 14:27

值得回味学习,先收藏了
页: [1]
查看完整版本: 如何解密RPG Maker MZ的图形音频资源的加密?(第二篇)