Tester Posted January 1, 2022 Posted January 1, 2022 (edited) One more script format has fallen. One of xlvns engine. Many games of Aquaplus and Leaf use it, yet not all. The scripts are quite easy, actually. Here is the tool: XlvnsScriptTool. Works fine at least with Shizuku... Edited January 1, 2022 by Tester Image Quote
Tester Posted January 1, 2022 Posted January 1, 2022 (edited) On 12/31/2021 at 1:16 AM, Gabriulio said: So yes, there must be a readable script in there, I simply don't know how to decrypt it. Of course, I can't rule out the possibility of arc_conv messing up the scripts when it extracted them from the sin_text.dat archive. First, there is a great number of visual novels not on KiriKiri or NScripter engines. Thou cannot hope that every game will be on them. Also, NScripter may be somewhat painy (if you want to translate on original NScripter without making any ports on some ONScripter). Your engine is, actually, DDSystem. Seems to be PIL-used engine. Second, these scripts are not encrypted. (Well, some strings may be obfusificated, but not message ones). It's just byte-code script file SCN. True name of format is DDW, by the way. Basically, you tried with the wrong encoding. Try using UTF-16LE. Proof is below the points. Third, thou probably cannot edit them with simple text editor. Why, thou ask? Because they are bytecode scripts. Therefore editing them with simple text editor likely break them (not in 100%, but in many, depending on the script format). Try some HEX editor instead, like MadEdit. Forth, I do know some tools for DDSystem, like these or that, but none of them can deal with scripts properly, if I am not mistaken. Thou may try to hack them yourself, though. Edited January 1, 2022 by Tester Quote
Gabriulio Posted January 2, 2022 Posted January 2, 2022 First of all, thank you very much for your help. The script might be encoded in UTF-16, but it appears to be a mix of LE and BE. Some parts are readable in one encoding, but not in the other. And some characters aren't readable in either of the two. For example, the following line: This is the very first line of dialogue in the game. Character name "ミニー" and the dialogue is "「きゃはははははは」". Now this is the line when using UTF-16LE: Total gibberish. But when we changed it to BE: It becomes partially readable. For example, "ミニー" becomes "胟ニー". I checked the other lines who only become readable when using BE, and they also have issues where some kanji or kana are displayed wrong. Quote
Tester Posted January 2, 2022 Posted January 2, 2022 (edited) 6 hours ago, Gabriulio said: It becomes partially readable. For example, "ミニー" becomes "胟ニー". I checked the other lines who only become readable when using BE, and they also have issues where some kanji or kana are displayed wrong. Oh, actually, I just remembered an obscure tool for both archives and scripts of DDSystem engine -- DDWSystemTool. Well, it is written that for DDWSystem, but it seems to be pretty close to DDSystem (it can even be another name of DDSystem or such). Also your "scn" scripts are actually "hxb" scripts (see header), so the tool should support them (and at least export/import strings properly). If thou have some problems with it, write in the issues, since it does not seem like an abandonware. Edited January 2, 2022 by Tester Quote
Gabriulio Posted January 3, 2022 Posted January 3, 2022 Thank you, thank you, thank you. That tool managed to extract all text with no encoding issues whatsoever. Quote
shadebalan Posted March 22, 2022 Posted March 22, 2022 On 11/1/2020 at 12:43 AM, Dim said: Please help,anyone know how to read or extract script .rld ? its from Exhibit engine i think, and i dont know how to use RLDManager because when i open it, there is just some empty GUI @marcus-beta Hi, I'm new too, It's been a year since your comment, but I wanted to share my 2 cents I've a similar problem with Poison's 姉姉W催眠, apparently it uses ExHibit, .res for the images and .rld for the scripts. The images are actually very simple to extract I used Crass/CrageGUI_Eng. However, the text is much more difficult because it seems to be encrypted. Anyhow, if you're lucky you can extract it using the empty GUI you commented just: Right click >> Press Open >> and select the .rld file you want to use. If you aren't lucky, the file is encrypted, then you would need to get the decryption key first, in a similar way: Right click >> Find Key >> and select the .rld file you want to use. Once it has finished (it might take a while), it will create a txt file named "RLDKeys" in the same folder, open it and you'll be able to see your new key. However, this is where things get ugly (complicated), becasue now you need to compile the source code after adding the new decryption key. If you aren't familiar with this process (like me), it may be difficult to do this, becasue you need to install a few programs like "Visual Studio Code" to see/edit the source code, and "MINgw" to compile it. Unfortunately the installation and the usage of these aren't as simple as installing a regular game, as you need to know, at least, some basic CMD commands. So, you might need to read/watch a few tutorials and keep trying, like I'm currently doing. Alternatively, if you don't want to use RLD Manager, you can try using "StringsReloads v7.5", I'm about to try to do this as it seems a way simpler solution to translate a game. Nevertheless, you'll still need some assembly knowledge .StringReloads Regards. Quote
kralc Posted March 24, 2022 Posted March 24, 2022 Been trying to port the PC version of KamiYaba over to the Vita. I've been able to unpack all the files for the vita version and change the text for the game but the only problem is that if I try to add or remove any text, the game doesn't work. The script text is encoded in Shift-JIS and doesn't have a file extension and I couldn't find anything when I searched up the header for the file. Would someone mind taking a look at it? Prologue Script Thanks Quote
Anonym271 Posted March 25, 2022 Posted March 25, 2022 (edited) 1 hour ago, kralc said: Been trying to port the PC version of KamiYaba over to the Vita. I've been able to unpack all the files for the vita version and change the text for the game but the only problem is that if I try to add or remove any text, the game doesn't work. The script text is encoded in Shift-JIS and doesn't have a file extension and I couldn't find anything when I searched up the header for the file. Would someone mind taking a look at it? Prologue Script Thanks First, just to make sure that I correctly understood what you want to do: You want to copy the official translation of the game (English I guess) over to the PSVita version of the game to play it in English on the PSV, right? So, by just looking at the file you provided: every String in there is prefixed by its length in bytes. If you are lucky, it is enough to adjust this length to the new length after you did your edits. I tried this with the first sentence of the first scene (at least in the PC version) but I do neither own a PSV nor the PSV version of the game. I uploaded the modified file here so you can try it out. If this works, it is probably not that hard to write a simple program that does the length modification automatically. Edit: I uploaded the wrong version first, so in case you already downloaded it: I replaced it by the correct one now. Edited March 25, 2022 by Anonym271 Quote
kralc Posted March 25, 2022 Posted March 25, 2022 4 hours ago, Anonym271 said: First, just to make sure that I correctly understood what you want to do: You want to copy the official translation of the game (English I guess) over to the PSVita version of the game to play it in English on the PSV, right? So, by just looking at the file you provided: every String in there is prefixed by its length in bytes. If you are lucky, it is enough to adjust this length to the new length after you did your edits. I tried this with the first sentence of the first scene (at least in the PC version) but I do neither own a PSV nor the PSV version of the game. I uploaded the modified file here so you can try it out. If this works, it is probably not that hard to write a simple program that does the length modification automatically. Edit: I uploaded the wrong version first, so in case you already downloaded it: I replaced it by the correct one now. Yeah, I'm trying to copy the offical translation of the game over to the PS Vita version. The issue I'm facing right now is that I can edit the text but only if I keep the amount of total characters in the script the same. If I add or subtract an extra character, the game stops working. I tried your file but it doesn't seem to work either (there is a chance that I didn't test it correctly because the Vita version of the game doesn't support english characters so I just switched out all of the 65 english characters for 65 random jp characters. If I do find a way to be able add more text, I have access to the font so I can just change some of the pngs for some of the jp characters to english characters so that if I type that jp character, it will show up as a english character and just do it that way instead.) Quote
nocturn Posted April 1, 2022 Posted April 1, 2022 (edited) Hello, does anyone have some experience unpacking and repacking for the advwin32 engine (the VN title is Konata Yori Kanata Made). This is what the game folder looks like: https://i.imgur.com/7w8NG6X.png I have had some luck getting the script in readable format extracting with garbro MES.MRG into the different scripts (which are encrypted or something since you can't open them directly with a text editor) and then loading them with the Multiline Editor from the first post. But I don't have any idea how to repack it into MES.MRG to test how it looks ingame, and I can't properly navigate this editor program since it's only in chinese but I doubt it does any repacking since it seems to be just an editor to help translating scripts easier. I was wondering if there's anything already available to help extracting and inserting back the scripts more easily, and keeping the actual scripting would be nice too in case minor adjustments are needed. Although I imagine the engine prolly doesn't support alphabetical characters so maybe some tweaking would be needed too? I was pondering the idea of translating this into Spanish since I quite liked it and it's kinda short but I want to get at least some good chunk of the translation done before I drag anyone else into this and lose their time in case I actually give up on the translation that's the most likely thing to happen. So if some sort of working tools exist would be the ideal situation. Edited April 1, 2022 by nocturn Quote
classicst3ve Posted April 24, 2022 Posted April 24, 2022 Any tools for getting the scripts for and translating "Production Pencil/bootup" games like Mamahaha and Ama ie,? Quote
Maks1m Posted May 15, 2022 Posted May 15, 2022 Hello. There are working programs or scripts to unpack and pack .mpx files? I only found (mpx2txt.cc) but I don't understand how it works. Quote
Maks1m Posted May 29, 2022 Posted May 29, 2022 (edited) (Complet's C4 MPX) Found a working python script. Complets_tools_and_asm_patches.7z. Thanks tlwiki.org and web.archive.org. Altered a bit. Now he automatically picks up the files in the folder and decodes. And he wrote a script that pulls out the text and creates a database for subsequent translation. mpxtool_modified.zip Edited May 31, 2022 by Maks1m Quote
asayuri Posted June 10, 2022 Posted June 10, 2022 Hi all, I'm a newbie here so please forgive me. I'm trying to extract resources from Princess Maker 4. I am able to extract the "script" file in the base dir using GARbro. However among the files extracted are prime4.g2, prime4.g2m, and room.g2. These look like they would be encoded via glib2, but when I try to extract those with GARbro, I just get the error that "file could not be opened as resource archive". Any ideas on how else I could try to extract that? All advice appreciated! Quote
Argeddon Posted August 31, 2022 Posted August 31, 2022 On 5/30/2022 at 7:16 AM, Maks1m said: (Complet's C4 MPX) Found a working python script. Complets_tools_and_asm_patches.7z. Thanks tlwiki.org and web.archive.org. Altered a bit. Now he automatically picks up the files in the folder and decodes. And he wrote a script that pulls out the text and creates a database for subsequent translation. mpxtool_modified.zip Yo, was using the mpxtool_modified and got an error when trying to repack .txt files that were machine translated (I edited only the japanese, kept the formatting the same). OneDrive\Documents\MEGAsync Downloads\vn\mpxtool_modified\mpxtool_modified.py", line 255, in pack dat2=dat2.encode("shift-jis-2004") UnicodeEncodeError: 'shift_jis_2004' codec can't encode character u'\u200b' in position 3881: illegal multibyte sequence lemme know if anyone might happen to know if there is something wrong with the tool (or if u need the text files to check or something). Quote
Hiashi Posted October 2, 2022 Posted October 2, 2022 (edited) I'm rather new at script extracting so I would like some assistance. I'm trying to extract scripts in the Kirikiri/KAGE X engine. KrkrExtract didn't work when I tried. As error message came up saying it only supports krkrz engine. I extracted the data.xp3 using Garbro, but the scenario files were in .ks format. I looked some stuff up and figured I needed to use a hex editor and according to the guide at the start of the topic: script format: encrypted kstools needed: hex editorstatus: testedinfo: open the *.ks script into hex editor, and insert "FF FE" at the very beginning, usually only applied for akabeisoft and its imprint. But I'm not familiar with hex files so I don't know what this means. I'm just trying to get the script into a readable format for potential translation. Could someone help a guy out? Edited October 2, 2022 by Hiashi HataVNI 1 Quote
Sisulizer Posted October 4, 2022 Posted October 4, 2022 On 10/3/2022 at 3:04 AM, Hiashi said: I'm rather new at script extracting so I would like some assistance. I'm trying to extract scripts in the Kirikiri/KAGE X engine. KrkrExtract didn't work when I tried. As error message came up saying it only supports krkrz engine. I extracted the data.xp3 using Garbro, but the scenario files were in .ks format. I looked some stuff up and figured I needed to use a hex editor and according to the guide at the start of the topic: script format: encrypted kstools needed: hex editorstatus: testedinfo: open the *.ks script into hex editor, and insert "FF FE" at the very beginning, usually only applied for akabeisoft and its imprint. But I'm not familiar with hex files so I don't know what this means. I'm just trying to get the script into a readable format for potential translation. Could someone help a guy out? What game is it? Quote
HataVNI Posted October 4, 2022 Posted October 4, 2022 @marcus-betaYeah, we might need you here. This is reversing stuff :v Quote
Hiashi Posted October 5, 2022 Posted October 5, 2022 9 hours ago, Sisulizer said: What game is it? Gothic Delusion Quote
Sisulizer Posted October 5, 2022 Posted October 5, 2022 (edited) 1 hour ago, Hiashi said: Gothic Delusion I simply used GARbro to extract/creating patch, choose no encryption when it shows the encryption scheme Edited October 5, 2022 by Sisulizer Quote
Hiashi Posted October 6, 2022 Posted October 6, 2022 (edited) 22 hours ago, Sisulizer said: I simply used GARbro to extract/creating patch, choose no encryption when it shows the encryption scheme And it works. Silly me for overthinking. One more question. How should I go about repacking them into a patch? Edit: I figured it out. Fun stuff Edited October 6, 2022 by Hiashi HataVNI 1 Quote
SRWU Posted October 25, 2022 Posted October 25, 2022 Can anyone help me extracting scripts from Dogenzaka Lab's otome VN, specifically the Men of Yoshiwara series? While I can extract the CGs and BGMs from them with GARbro easily, I don't know what to do with the scripts themselves to make them readable. They're all in .a format, by the way. Destiny Princess sample Men of Yoshiwara Kikuya sample Men of Yoshiwara Ohgiya sample Quote
bigtpsychoboy Posted November 23, 2022 Posted November 23, 2022 I am looking for help in extracting the script for two games. The first is sisters ~Natsu no Saigo no Hi. According to VNDB this is using a game engine called ISM. I used GARbro to look at the .isa data files. Within the data file there are .ism files which I am assuming contain the script. These are binary files from what I can find, but I am not sure how to decrypt/open them to begin translating. The second game is Kanojo x Kanojo x Kanojo. This game uses the AST engine according to VNDB. The data files for this are named dat01, dat02, etc... with no extension. Viewing dat01 with GARbro shows all of the script files. These are in .adv and when I extract them they are easily edited as straight text files. The problem I am having is being able to repack the dat01 file without an extension. So I guess what I am looking for is any tools anyone has that can be used to unpack and repack AST and/or ISM game files. Anything helps. Quote
Anonym271 Posted November 28, 2022 Posted November 28, 2022 On 11/23/2022 at 3:50 AM, bigtpsychoboy said: The first is sisters ~Natsu no Saigo no Hi. According to VNDB this is using a game engine called ISM. I used GARbro to look at the .isa data files. Within the data file there are .ism files which I am assuming contain the script. These are binary files from what I can find, but I am not sure how to decrypt/open them to begin translating. I did some research about this ISM engine. I found this very interesting GitHub repository about all kinds of VN engines and it contains a link to this download page. There you can download all kinds of stuff needed to create a VN with the ISM engine (the .lzh archives can be opened with 7zip, WinRAR or other archivers). Especially interesting is the ISM development environment. Sadly, as far as I could see, none of the packages contains tools to decompose an existing game. But what I could find out so far is that the scripts are written in an own scripting language (.iss) and then compiled into .ism files. So you would probably need to write some kind of disassembler for these compiled scripts in order to edit them for translation. This seems like a hard but not impossible project, especially because we have access to the script compiler (it is contained in the dev environment). I already looked into the ISM scripts and found some stuff, in case it helps: Header 12 byte magic number ("ISM SCRIPT") 4 byte file size 4 byte offset, some offset in the file. Probably beginning of the code segment or something 4 byte uint, probably some kind of count (maybe local variables?) 4 byte count1 4 byte count2 --> count1 & count2 seem to be always the same Some list, directly after the header count is header.count1 (or count2) each entry is a struct { uint1, uint2, uint3 } uint1 is increasing with each entry, starting at 0 uint2, uint3 are relatively small numbers After that follow some readable strings (usually 2) like CHAP1_A and CountParagraph%0 each one prefixed by its length (1 byte) and followed by a 0 terminator Then more readable strings (same format), maybe function definitions or something Then follows the segment that header.offset (the third entry) points to By compiling one of the ISS examples from the mentioned download page I also found out that strings are stored with a simple XOR encryption. The key seems to change for each string though and I could not yet find where or how it is defined. Quote
bigtpsychoboy Posted December 5, 2022 Posted December 5, 2022 On 11/28/2022 at 6:53 AM, Anonym271 said: I did some research about this ISM engine. I found this very interesting GitHub repository about all kinds of VN engines and it contains a link to this download page. There you can download all kinds of stuff needed to create a VN with the ISM engine (the .lzh archives can be opened with 7zip, WinRAR or other archivers). Especially interesting is the ISM development environment. Sadly, as far as I could see, none of the packages contains tools to decompose an existing game. But what I could find out so far is that the scripts are written in an own scripting language (.iss) and then compiled into .ism files. So you would probably need to write some kind of disassembler for these compiled scripts in order to edit them for translation. This seems like a hard but not impossible project, especially because we have access to the script compiler (it is contained in the dev environment). I already looked into the ISM scripts and found some stuff, in case it helps: Header 12 byte magic number ("ISM SCRIPT") 4 byte file size 4 byte offset, some offset in the file. Probably beginning of the code segment or something 4 byte uint, probably some kind of count (maybe local variables?) 4 byte count1 4 byte count2 --> count1 & count2 seem to be always the same Some list, directly after the header count is header.count1 (or count2) each entry is a struct { uint1, uint2, uint3 } uint1 is increasing with each entry, starting at 0 uint2, uint3 are relatively small numbers After that follow some readable strings (usually 2) like CHAP1_A and CountParagraph%0 each one prefixed by its length (1 byte) and followed by a 0 terminator Then more readable strings (same format), maybe function definitions or something Then follows the segment that header.offset (the third entry) points to By compiling one of the ISS examples from the mentioned download page I also found out that strings are stored with a simple XOR encryption. The key seems to change for each string though and I could not yet find where or how it is defined. Wow! Thanks so much for taking the time to respond. I am not much of a coder so a lot of what you said went over my head (sysadmin here lol). Very interesting stuff here though. It doesn't sound easy at all unfortunately. I will look into it more later, but right now I am probably better off shelving this, or commissioning someone to research and create me a disassembler of some kind. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.