CREATE YOUR AI CUM SLUT ON CANDY.AI TRY FOR FREE
x

RPGM None [Translation Request] Xianxinglu of the Scarlet Moon, 绯月仙行录 V0.4164 [蓝月虫1988]

Feb 16, 2018
32
42
Found a link for the new version 0.61 that looks legit. It's on pan baidu though.
Can't seem to figure out it works. If someone could download then reupload it that would be great.

通过网盘分享的文件:绯月仙行1
链接: 提取码: j835
解压码:tto
 
  • Like
Reactions: Zeart 991 and ENKQ
Feb 16, 2018
32
42
For those who are looking into why Mtool won't work for the newer versions, the author encrypted the .json files in the data folder. You can see that while previous versions have readable .json, the current ones are a jumble of text in a single line. The game decrypts these files with a plugin when loading them in game.

The scripts used to decrypt them are located in js/plugins and are called core_1.js and core_2.js. These scripts are obfuscated, but gpt was able to deobfuscate the latter into readable code. Here's a snippet:

Code:
DataManager["loadDataFile"] = function (objectName, fileName, src) {
    if (objectName.length < 400) {
        if (fileName !== "Actors.json" && fileName !== "MapInfos.json" &&
            fileName !== "Classes.json" && fileName !== "Animations.json" &&
            fileName !== "CommonEvents.json" && fileName !== "Enemies.json" &&
            fileName !== "Items.json" && fileName !== "States.json" &&
            fileName !== "Skills.json" && fileName !== "System.json" &&
            fileName !== "Tilesets.json" && fileName !== "Troops.json") {
            window[objectName] = JSON.parse(objectName.responseText);
        } else {
            const decryptedText = CryptoJS["AES"]["decrypt"](objectName.responseText, "pojiecaonima").toString(CryptoJS.enc.Utf8);
            window[objectName] = JSON.parse(decryptedText);
        }
        this["onLoad"](window[objectName]);
    } else {
        this["onXhrError"](objectName, fileName, src);
    }
};
As you can see, the game is using CryptoJS AES to decrypt the files using the password "pojiecaonima". I have tried to manually decrypt the .json files with this password using javascript and python, but I keep running into issues with padding and the initialization vector. I couldn't get past this step but maybe you can, so I'm posting what I've found here.

What needs to be done next is 1. Successfully decrypt the encrypted .json file, 2. Apply this decryption function to all the .json files in the data folder, and 3. Delete the if statement in the obfuscated core_2.js that decrypts the jsons in game.

EDIT: I've attached the deobfuscated core_1.js and core_2.js files below.
View attachment deobfuscated core_1.txt View attachment deobfuscated core_2.txt

Also, something funny I noticed. The password "pojiecaonima" used to encrypt/decrypt the files means 破解 (software cracker) 肏你妈 (fuck your mother). The author must really dislike modders lmao.
 
Last edited:
Feb 16, 2018
32
42
working.PNG
Finally managed to get Mtool working with the latest version 0.61. Also decrypted and extracted the cgs in the output folder.

Download link:

I did run into issues where the game freezes during specific dialog. If that happens, go through the dialog without Mtool then use it afterwards. Make sure to save often.

LordoftheFries, I successfully decrypted the file "data," but I still can't enter the game.

How did you know the password was "pojiecaonima"? :)
Thanks for your help! The last step is to delete the part in the plugin where it decrypts the already decrypted jsons in game.

The password was included in the obfuscated javascript plugin core_2.js.
 
Last edited:

MTCF

Member
Aug 31, 2017
342
200
I'll probably wait for someone smarter in Mtool to translate patch it and ask for a link