I give you what the girl found out with a friend of hers:
"Analyzed the engine and there are multiple problems:
1. The engine program that unifies everything and runs the game program.
The first thing we did was try to find out what engine it works with to see if there is some kind of tool that helps us extract the files like with many Visual Novels.
We found the name they gave the engine when examining the .Exe file, it is called "Game Script Executer" (GSE).
The problem is that there was no information about it, the only thing known about this is about the company Mirai.Soft, which was the developer of PersonA. We didn't find anything that would facilitate the files because it is not a mass-produced engine like the games made in Ren'py, Kirikiri...
2. With the Fuwanovel forum we were finally able to find that the girl shared part of the code to understand how to extract part of the text.
Here the nightmare begins and that's the bad part: we confirmed that the engine was programmed by a person from the company and she did it in such a way to ensure that piracy would be a nightmare.
We already understood what the translator was referring to, the game is tedious to patch because:
- You cannot change the amount of letters or spaces in the game, if you add text that requires a jump the game crashes.
Even so, we tried to change the text, but the engine directly has complications and if we say that the prologue has 7 lines, but you insert the text of the translated prologue and they make you 9, then 3 lines of the game will disappear.
And I don't mean that 3 lines will not be shown, it's that 3 lines from any part of the game will disappear from the program as if it were eliminating itself due to the lack of spaces.
We found a solution for this and it was what the girl was referring to: instead of inserting text you just overwrite it letter by letter, it's super tedious, but it was the only way we found to do "something". The worst thing is that we don't know how to repackage everything back and she wouldn't let us, but we already know what she meant by saying that she couldn't extract the text but had to directly change it letter by letter.
The engine is super cumbersome, the bad thing is that there is no information about it because it was completely created from scratch, otherwise it would make things easier".
Would you consider sharing the source code and/or the files (binary/script) that were used to extract the text?
Doing the same operation in reverse, where there is already code to handle the input/output file streams, is a lot simpler than having to work from only the raw function and would prove that the function works. A loose file that has an example of the expected raw output would also be very helpful.