SeleDreams Posted February 23, 2021 Posted February 23, 2021 Hi, I've been programming and making mods for games for some years now and I felt like it would be a fun idea to reverse the file formats of VNs that haven't been reversed yet to help the community translate VNs and mod them. If you know of engines from vns that haven't yet been reversed, don't hesitate to suggest some, I might be able to do something about it Quote
Zakamutt Posted February 23, 2021 Posted February 23, 2021 light.vn is a somewhat lesser known engine and I don't know of any work having been done on it. It's used by this, for example https://www.freem.ne.jp/win/game/17154. There's also Kodoku no Yurikago, a pretty crazy denpa game by the same writer, though that one's not free. Quote
SeleDreams Posted February 23, 2021 Author Posted February 23, 2021 22 minutes ago, Zakamutt said: light.vn is a somewhat lesser known engine and I don't know of any work having been done on it. It's used by this, for example https://www.freem.ne.jp/win/game/17154. There's also Kodoku no Yurikago, a pretty crazy denpa game by the same writer, though that one's not free. I'll take a look at it, since the engine itself is available as well that's kind of nice as it would make it a bit easier to reverse Zakamutt 1 Quote
Tester Posted February 23, 2021 Posted February 23, 2021 Hmmm... AIRNovel (list is by no means complete), I guess? At least I didn't hear about any attempts to reverse it and did not try it myself, but did hear about some localizers complain about it. There are also many engines, which was partially reversed. For example, only archives and maybe sometimes images, but not scripts. For example, in case of Lucifen (list is by no means complete) archives was hacked, but there are keys from the just few games extracted, so people without knowing about reversing (there is no keyfinding tool or instruction) can't find a key (from other games). There was some script tool (some Chinese string editor), but for only one type (there are two types of Lucifen scripts: sob and some other) and even it doesn't work with most games. Or, if you want really contribute to community, you may want to see Shiina Rio (very popular engine indeed). There are some tools, but they works only with some specific games. As I know, there are no good methods to localize quite good ranges of games on it. But do note, this engine won't succumb so easily. Oh, and yes, if you want try something rare, which can be beneficial just for about one game, you may want to see engine of this game. === Verily, there are many-many engines like these... Quote
SeleDreams Posted February 23, 2021 Author Posted February 23, 2021 4 minutes ago, Tester said: Hmmm... AIRNovel (list is by no means complete), I guess? At least I didn't hear about any attempts to reverse it and did not try it myself, but did hear about some localizers complain about it. There are also many engines, which was partially reversed. For example, only archives and maybe sometimes images, but not scripts. For example, in case of Lucifen (list is by no means complete) archives was hacked, but there are keys from the just few games extracted, so people without knowing about reversing (there is no keyfinding tool or instruction) can't find a key (from other games). There was some script tool (some Chinese string editor), but for only one type (there are two types of Lucifen scripts: sob and some other) and even it doesn't work with most games. Or, if you want really contribute to community, you may want to see Shiina Rio (very popular engine indeed). There are some tools, but they works only with some specific games. As I know, there are no good methods to localize quite good ranges of games on it. But do note, this engine won't succumb so easily. Oh, and yes, if you want try something rare, which can be beneficial just for about one game, you may want to see engine of this game. === Verily, there are many-many engines like these... I'd say most of the time for translations what i would do would be to reverse engineer the code part of games to identify the function that displays text since it would make it easier to this way make code that would detect the string and replace it. that's at least the fastest method for translation purposes only but when it comes to reversing formats directly this is also doable but takes more time Quote
Gilang4321 Posted February 23, 2021 Posted February 23, 2021 Can you try Tactic engine like this one? https://vndb.org/v12603 Quote
Darbury Posted February 23, 2021 Posted February 23, 2021 6 hours ago, Tester said: Hmmm... AIRNovel (list is by no means complete), I guess? At least I didn't hear about any attempts to reverse it and did not try it myself, but did hear about some localizers complain about it. I've played around with AIRNovel some in the past — I was taking a peek at Shin'ainaru Kodoku to Kunou e — and it's not too bad, all things considered. The development tools are all freely available at https://famibee.web.fc2.com/intro/home.htm. Extracting the assets from a game was pretty easy, but decrypting them without the key is where I got stuck. (It partially encrypts each file with a RC4 cipher, so you need to know both the key and the encryption length offset. Or something very technical sounding like that.) Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 2 hours ago, Darbury said: I've played around with AIRNovel some in the past — I was taking a peek at Shin'ainaru Kodoku to Kunou e — and it's not too bad, all things considered. The development tools are all freely available at https://famibee.web.fc2.com/intro/home.htm. Extracting the assets from a game was pretty easy, but decrypting them without the key is where I got stuck. (It partially encrypts each file with a RC4 cipher, so you need to know both the key and the encryption length offset. Or something very technical sounding like that.) I imagine it would be doable to obtain the decryption key through debugging of the function loading assets (after all the key must be obtained from somewhere for the game to load assets) Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 (edited) 7 hours ago, Gilang4321 said: Can you try Tactic engine like this one? https://vndb.org/v12603 is there any free game or demo of a game using this engine ? By the way the best right now would be vns that people want to translate and that cannot be translated right now due to the fact their engines haven't been reversed yet, since those would be more useful to reverse Edited February 24, 2021 by SeleDreams Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 (edited) I took a look at AirEngine, it seems to be using adobe air, in this case I think it should be pretty easy to reverse as it's not native code I found a tool allowing me to reverse engineer it, so yes, i'm going to check where it stores the encryption keys Edited February 24, 2021 by SeleDreams Quote
Infernoplex Posted February 24, 2021 Posted February 24, 2021 PurpleSoft engine, pretty please? You can even grab a demo of some of their titles, like Reallive or Seishun Fragile. Here's an incomplete list of titles using their engine. I did find some Chinese-developed tools that should supposedly work with their engine, but it only covers some older titles (that already got localized). Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 11 minutes ago, Infernoplex said: PurpleSoft engine, pretty please? You can even grab a demo of some of their titles, like Reallive or Seishun Fragile. Here's an incomplete list of titles using their engine. I did find some Chinese-developed tools that should supposedly work with their engine, but it only covers some older titles (that already got localized). I'll look into this Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 37 minutes ago, Infernoplex said: PurpleSoft engine, pretty please? You can even grab a demo of some of their titles, like Reallive or Seishun Fragile. Here's an incomplete list of titles using their engine. I did find some Chinese-developed tools that should supposedly work with their engine, but it only covers some older titles (that already got localized). I tried to launch the reallive demo but nothing happens when i double click on the executables, and when i click on the config executables this appears but i don't know japanese . Quote
Tester Posted February 24, 2021 Posted February 24, 2021 2 minutes ago, SeleDreams said: I tried to launch the reallive demo but nothing happens when i double click on the executables, and when i click on the config executables this appears but i don't know japanese . Translation from Japanese: Settings file abnormality (error). The settings file is not present. Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 2 minutes ago, Tester said: Translation from Japanese: Settings file abnormality (error). The settings file is not present. I see, well that's pretty weird since I litterally just extracted the game Quote
Infernoplex Posted February 24, 2021 Posted February 24, 2021 4 minutes ago, SeleDreams said: I see, well that's pretty weird since I litterally just extracted the game Hmmm... that's weird. I only have the full games, and they work just fine. Gonna try the demos now. Could be that their demo versions are borked. Quote
Tester Posted February 24, 2021 Posted February 24, 2021 (edited) 56 minutes ago, SeleDreams said: I see, well that's pretty weird since I literally just extracted the game Well, I have one conjecture: settings file may be generated after the first game launch, which wasn't done here correctly, because... 1 hour ago, SeleDreams said: I tried to launch the reallive demo but nothing happens when i double click on the executables And, seeing the error, I can presume you did try to launch Japanese demo version. Well, you see, there is often one problem then launching random Japanese game, at least visual novel: it may not running (at least correctly) on any locales which aren't Japanese. You may try to launch the main exe while emulating the Japanese locale with Locale Emulator. If needed, use deep emulation. Well, launching the exe in a debugger won't be so easy with this method, I guess... Edited February 24, 2021 by Tester Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 (edited) 17 minutes ago, Tester said: Well, I have one conjecture: settings file may be generated after the first game launch, which wasn't done here correctly, because... And, seeing the error, I can presume you did try to launch Japanese demo version. Well, you see, there is often one problem then launching random Japanese game, at least visual novel: it may not running (at least correctly) on any locales which aren't Japanese. You may try to launch the main exe while emulating the Japanese locale with Locale Emulator. If needed, use deep emulation. Well, launching the exe in a debugger won't be so easy with this method, I guess... I did set my whole windows locale to japanese so i don't think so I've been able to redownload from an other of their links and it works now Edited February 24, 2021 by SeleDreams Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 I'm doing some progress I was able to localize some functions related to the decompression of data from the PurpleSoft engine, I also found various strings that look like text commands that are used by the scripts of the game Quote
Gilang4321 Posted February 24, 2021 Posted February 24, 2021 12 hours ago, SeleDreams said: is there any free game or demo of a game using this engine ? By the way the best right now would be vns that people want to translate and that cannot be translated right now due to the fact their engines haven't been reversed yet, since those would be more useful to reverse Sadly, there is no free vn using that engine Quote
Infernoplex Posted February 24, 2021 Posted February 24, 2021 4 hours ago, SeleDreams said: I'm doing some progress I was able to localize some functions related to the decompression of data from the PurpleSoft engine, I also found various strings that look like text commands that are used by the scripts of the game Glad you were able to solve the problem! I was about to suggest redownloading the demo from a different link, given how the demo works for me, but you already tried it yourself. Anyway, what do you think about the engine? Is it complicated to hack like I heard, or...? Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 3 minutes ago, Infernoplex said: Glad you were able to solve the problem! I was about to suggest redownloading the demo from a different link, given how the demo works for me, but you already tried it yourself. Anyway, what do you think about the engine? Is it complicated to hack like I heard, or...? i'd say the main annoying thing is that i can't find hardcoded references to the cpz files so it's a bit hard to track exactly where they are being parsed and the cpz files seem either compressed without header to help, either encrypted so i can't just look at them I'm right now working on detouring calls from the game to the CreateFileA function of windows in order to be able to intercept the file loadings from the game and know what calls it Infernoplex 1 Quote
Infernoplex Posted February 24, 2021 Posted February 24, 2021 2 minutes ago, SeleDreams said: either encrypted so i can't just look at them From what I recall, yes, the game's script files are encrypted. Every VN in that engine has its own encryption or something. Quote
littleshogun Posted February 24, 2021 Posted February 24, 2021 So can you tell me the program to open Purple Software video file? The extention is CMV, and looks like Corel would do the job. Although apparently I need a program called CMVS.GUI from one of VNDB thread, so I suspect that it might be related with the programming here. Sorry for being out of topic here. Quote
SeleDreams Posted February 24, 2021 Author Posted February 24, 2021 1 minute ago, Infernoplex said: From what I recall, yes, the game's script files are encrypted. Every VN in that engine has its own encryption or something. usuallly i find the logic of encrypting the assets kind of stupid because it just requires to find the function loading them, and once done we can inject code from the game calling the function loading them and extracting the assets this way directly from the code inside so we completely bypass the encryption since the game willingly gives us everything decrypted lol Infernoplex 1 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.