RPG Maker MV引擎,
一般拿到System.json中的key就可以解了,
但是这次System.json中好像套了一层编码(所有json都套了一层),尝试了一般的base64解码没解出来,目前没什么头绪。
解压码cracg.xyz
System.rar (15.8 KB)
RPG Maker MV引擎,
一般拿到System.json中的key就可以解了,
但是这次System.json中好像套了一层编码(所有json都套了一层),尝试了一般的base64解码没解出来,目前没什么头绪。
解压码cracg.xyz
System.rar (15.8 KB)
可能在js里,但是我只找到了加载json的,但是没找到解码的地方。
更新一下:找到了对json base64编码的可疑地方:
StorageManager.saveToLocalFile = function(savefileId, json) {
var data = LZString.compressToBase64(json);
var fs = require('fs');
var dirPath = this.localFileDirectoryPath();
var filePath = this.localFilePath(savefileId);
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath);
}
fs.writeFileSync(filePath, data);
};
StorageManager.saveToWebStorage = function(savefileId, json) {
var key = this.webStorageKey(savefileId);
var data = LZString.compressToBase64(json);
localStorage.setItem(key, data);
};
不过好像是压缩了再编码的。
找到了可疑解码位置:
StorageManager.loadFromLocalFile = function(savefileId) {
var data = null;
var fs = require('fs');
var filePath = this.localFilePath(savefileId);
if (fs.existsSync(filePath)) {
data = fs.readFileSync(filePath, { encoding: 'utf8' });
}
return LZString.decompressFromBase64(data);
};
rpg_managers.zip (13.7 KB)
LZString.decompressFromBase64(data);
这个好像是先解码再解压缩,但是我尝试解码的时候失败了,不能解码游戏的json,但是自己的测试文件可以解码。不知道有没有大佬可以解惑(js真不熟 )
另外LZString库1.5和1.4的压缩编码方式好像有不同。猜测应该是用的1.4及一下的LZString,因为1.5的base64编码无法被一般的base64工具解码,1.4及以下的可以。
又看了看,虽然system.json没还原出来,但是图片音频没加密。。。