Jump to content

Tester

Members
  • Posts

    34
  • Joined

  • Last visited

Everything posted by Tester

  1. 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.
  2. 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.
  3. 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...
  4. I am truly surprised that I could deal with AI5WIN scripts withing so little time. I though it'd take about a week. Scripts of AI5WIN, as archives, are more complicated then AI6WIN's and Silky Engine's, definitely so. I understand now why no proper decompilers&compilers or at least disassemblers&assemblers were done by now. You cannot just properly disassemble "complex structures" (as I call it) as plain opcodes here (or it's just me who could not). Still it is not as problematic as in SLG System scripts. Also it is not only the scripts themselves that are hard, there is also a big version difference. I managed to get quite a few games, 6 of them (3 different releases), so I think I supported not all versions. But by now that three would be enough. Here is the tool: AI5WINScriptTool. === These screenshots proof that it works (from Shangrlia)...
  5. Now, having hacked all Silky/Elf line archives (AI5WIN's, AI6WIN's and Silky Engine's) and totally upgraded tool for Silky Engine's scripts, I turn my eyes to AI6WIN's scripts. Yes, they were also hacked. Disassembler and assembler tool was written for them: AI6WINScriptTool. I admit, this is quite "lazy tool", but it is enough for fantranslations. Alas, they were rather dissapointing. They are somewhat close to Silky Engine's, but have only 1 header section instead of 2. There are also some commands differences. But... that is all. They were, actually, even easier than Silky Engine's scripts.
  6. So long I was wanting to do that, yet only now I had time to. In the previous year I did hack Silky Engine's mes files and created a tool, mesScriptAsseAndDisassembler. Alas, it was (like gscScriptCompAndDecompiler) far from ideal. It worked with general scripts, but 1) it could not (dis)assemble any technical scripts; 2) it did not work with LIBLARY.LIB, specific script; 3) it did not worked if one of parameters had one unimplemented value. Also it had some problems with optimization, code style, strings, lack of mass conversion and such. But the time changed. Here is new mesScriptAsseAndDisassembler 1.2. Now this tool was fully refactored and all of them were fixed. Now you can use it without fear of common problems. Here is the change log... 1) Full code refactoring in both GUI and script managing class. 2) Normal tests in main. 3) Big optimization for mes script management. 4) Many mistakes, such as incorrect bytes or incorrect string returning, fixed. 5) Added directory management option. 6) Added some convenient functionality in GUI. For example, auto guessing name of other file after choosing one. 7) Now use threading system, so no locking GUI (well, almost... it can be for a very little time in case of directory management). 8 ) Completely new installation script. 9) More data in .exe. 10) Help data updated. 11) Now support more scripts and gives more correct output to some arguments due to implementing new argument parsing system (close to that in SLGSystemScriptTool). 12) Fixed very rare case then header contain one more section. 13) Some new commands were named. 14) Now work with LIBLARY.LIB like with any mes script.
  7. Hmm, so thou had problem with that text structure? Probably late, but I'll give one hint about this one structure. That description text "in the sea of 0x00" is somewhat close to... yes, "fixed string in the sea of 0x00", as I call it. Basically, there are N bytes in this structure (often 2^n, but not always). If the actual string is not "", then the structure begins from the string bytes. Basically, it has constant size unrelated to string size. To unpack it just... read all N bytes from the structure and from it take all non-0x00 bytes, then decode. You'll have string. I think you've already know how to pack it now.
  8. Now AI5WIN's, father of AI6WIN and grandfather of Silky Engine, .arc archives had also fallen. Alas, I hath nor archives of ancient AI1-AI4 engines, nor the means (I could find only AI5WIN ports of the games) to obtain it. Therefore I hath no choice but to stop hacking archives of Elf-Silky archives line. But probably it is not the big deal, since games on earlier engines does not work on modern operating systems. Here is the tool -- AI5WINArcTool. As usual, unpacking and packing with correct (de)compression at both operations. AI5WIN's .arc probably is the most complicated from Elf-Silky archives line. Data compression and storing are like in the other archives in this series, and header not very far from AI6WIN's, but... creators of the engine decided to obfisificate header with 3 (!) different keys. Fortunately, the way they implemented it was not too problematic to deal with to the extend that I implemented system that authomaticaly hacks all three keys from any (well, there are some conditions, but I could not find any archives that does not match it) AI5WIN .arc archive (yes, even not from .exe) and therefore should work with all it's games.
  9. Okay, also hacked .arc archives AI6WIN -- predecessor of Silky Engine. For them you can use AI6WINArcTool. No more thou need to suffer, packing it with raw files! If I feel like it, I'll also hack AI5WIN's.
  10. Once more hath I created a new tool. This one is not so big as previous ones, but still very important. There is Silky Engine, on which where are many interesting visual novels. Some time ago I hath created a script editing tool for it's mes scripts and wrote an article of it... And all the time I through there were good enough tools for it. But I checked and... Some tools can just extract data from it, other (some tool from regonme) can pack, but, alas, without compressing files per LZSS implementation, used in Silky Engine. Therefore files was getting too big and there was no method to create actually normal enough Silky's arc archives. But that time hath come to the end. I hath tested this LZSS implementation and created SilkyArcTool, by using which thou can both extract and pack Silky archives, using this LZSS compression algorithm (I hath implemented not only decompression, as in many tools, but also a compression algorithm). Therefore Silky Engine's (and Ai6WIN/Ai5WIN's (probably) .arc archives has fallen completely. === Updated: AI6WIN (and probably AI5WIN) .arc not supported. Still I have already hacked AI6WIN .arc archives, so tool will be released soon.
  11. Actually, there are two points about it to be noted. First, the engine, as far as I know, probably doesn't upgrading anymore. Gesen 18 games use Unity now (and probably all Unicorn-A's). Since about Sengoku Hime 7. Second, the SLG System scripts may have new offsets "types" or "categories" (I don't know how to call this correctly, but, for instance, I did call them "effect offsets", "event offsets", "label offsets" and such) in new versions (as it was with 0-1, 2-3, 3-4 versions), so even if I to create string tools for all 5 (0-4) versions of scripts, the string tool with new version could just break the newly appeared offsets or the script itself. So in case of SLG System script it won't be very stable either way.
  12. Also, in case of anyone interested. I have extracted and decrypted main scripts (compiled) of Sengoku Hime 1-6 and Shihen 69. I have temporary uploaded them here (link currently unavailable).
  13. After some time tampering with SLG System engine, I did create a tool to work with it's scripts. And not just simple string editor, no. SLGScriptTool is dual languaged GUI tool for (de)compiling and (de/en)crypting (with key finding) scripts of SLG System engine. Supports all known versions of SLG System: 0, 1, 2, 3 (3.0, 3.1), 4 (4.0, 4.1), but may lack of support of some it's variations. With this tool you can: decompile and compile script of SLG System, (en/de)crypt script of any game on SLG System, find key of any game on SLG System via cryptoattack. Link for the tool: https://github.com/TesterTesterov/SLGSystemScriptTool Built release (for x64 and x32): https://github.com/TesterTesterov/SLGSystemScriptTool/releases/tag/v1.0 Why SLG System is so noteworthy? Legendary series Sengoku Hime and Sangoku Hime (PC version) does use this engine (well, Sengoku Hime 7 and probably Sangoku Hime 5 does use Unity, but pay it no mind). Now with SLGSystemDataTool and some HEX-editing of supplement data files it is possible to translate whose game series.
  14. Once again, this thread should be updated, because there was new tool created. See this topic. === After some time tampering with SLG System engine, I did create a tool to work with it's scripts. And not just simple string editor, no. SLGScriptTool is dual languaged GUI tool for (de)compiling and (de/en)crypting (with key finding) scripts of SLG System engine. Supports all known versions of SLG System: 0, 1, 2, 3 (3.0, 3.1), 4 (4.0, 4.1), but may lack of support of some it's variations. With this tool you can: decompile and compile script of SLG System, (en/de)crypt script of any game on SLG System, find key of any game on SLG System via cryptoattack. Link for the tool: https://github.com/TesterTesterov/SLGSystemScriptTool Built release (for x64 and x32): https://github.com/TesterTesterov/SLGSystemScriptTool/releases/tag/v1.0 Why SLG System is so noteworthy? Legendary series Sengoku Hime and Sangoku Hime (PC version) does use this engine (well, Sengoku Hime 7 and probably Sangoku Hime 5 does use Unity, but pay it no mind). Now with SLGSystemDataTool and some HEX-editing of supplement data files it is possible to translate whose game series.
  15. In the game directory itself. It should work.
  16. You don't need to actually repack it. More data about translation the games on Silky Engine can be found here (warning: Russian only!). See " Как работать с архивами? " section there. Also you may want to use this tool to edit MES files.
  17. I have no time to write a tool (even though this .bit scripts seems to be rather easy ones), for I am currently working on SLG System (legendary series Sengoku Hime and Sangoku Hime are on that engine; I have already hacked all Sengoku Hime scripts series and working on the Shihen69 scripts), but I can give you some instructions to manually edit the scripts. 1. Open the script with Hex Editor. For example, Mad Edit. 2. Find string you want to edit. It will be somewhere near the end of file (string section). 4. Find the address of the first byte of the next string (after 00 byte). For instance, let it be 0x0000091A. (Do that with all next strings as well right at this point). 5. Divide it like this: 0x0000091A -> 0x|00|00|09|1A|. 6. Leave 0x as it was and write the following segments in backward order. Like this: 0x|00|00|09|1A| -> 0x|1A|09|00|00. 7. Next. Leave 0x part and insert spaces. Like this: 0x|1A|09|00|00 -> 1A 09 00 00. 8. Edit string you did want to edit (found in 2). You may want to add some bytes (then use Notepad++). End of the string should be \x00 byte. 9. Find new address of the next string (after 00 byte) and convert it to new bytes (see 5-7). 10. Great! Now find all bytes of the old address (you got on 7; for instance, 1A 09 00 00) in file via hex editor. Change all of it to the new bytes (you got on 9). 11. Continue like this.
  18. Okay, I did look into this (quite briefly) and saw some abberations. First, "PACK" may begin on 16n + 8 offsets sometimes. Second, files only begin on 16n + 8 offsets sometimes. I did modify the tool to switch between classic (16) and abberate (8) version. Try 1.1 version of PsyhedelicaPCKTool. So you could extract any (I hope) archive from 16 or 8 version (try 16 first, if it's not working, then switch to 8). And pack to either 16 or 8 (pick the one with which game doesn't crash). Unpack version and pack version doesn't need to be the same. (Theoretically there could be a case then PACK starts on 16n + 8, and files starts on 16n, but I won't implement it unless necessary). === It has a CLI interface. First version (8 or 16), next enter mode (0 for unpack and 1 for pack), next enter the pck archive name (with extension!), next enter the directory name. === Still I did test quite brief, so I could miss something. Write if some game crashes after repacking (after trying to repack to both versions) or there is still some problems in extracting.
  19. Hmm, interesting. Could you post here some of that unsupported archives? I could modify the tool if I'll have time. No, only with this kind of PCK, maybe on the same engine, and all. I did not write any sophisticated structure analyzers algorithms in this one, the tool is very basic. Maybe Rio Reincarnation uses the same engine... Oh, it's a compiled binary script. Fully edit them would be quite a hassle, because you'd need to diasssemple/decompile them, and hacking engine languages is such a pain... But in case of this format it's possible, I think, to write a relatively easy string editor. I did some testing and found out that kind of script uses strings just at the end of file (divided by \x00 (\0)) and some commands points to string offset beginnings. Theoretically it's possible to edit the end strings just fine, you just need to separate them with \x00 (\0) and recount offsets in the commands arguments. As for strings encoding... may be UTF-8? Or Shift-JIS? It'll need some testing with the actual game.
  20. I think it won't be the case. You see, GIGA's most commonly used engine is NeXaS. But the topicstarter said this game is on Artemis. And it uses pfs archives and .asb, .lua and .AST scripts, so this engine is most likely Artemis. So even if people know about working with Artemis games, they could work with only few games of GIGA. But I have worked with Artemis at some point, so I'll post here a method (do note, there are some other methods as well). 1) Extract archives with GARbro (there are some other tools, but GARbro is the most supporting, for there are some types of pfs archives). You need to preserve the folder structure. 2) Change font (if needed). Most often it in "font" subfolder from archives. 3) Edit scripts (strings in scripts or actual code). Scripts are in open format (well, it is case in most Artemis games at least), so there should not be any problems. It even uses Unicode (as I saw). 4) Edit images. No problems with this one. 5) Delete archives to force game pick data from subfolders. That's all. NeXaS is somewhat more tricky, especially then working for non-English translation project.
  21. I don't know any tools for this kind of archive or engine, but the format did seem somewhat easy, so I decided to hack it myself. Well, here you are, try PsyhedelicaPCKTool, latest of my "fast tools". It does need Python 3, maybe latest version. It has a CLI interface. First enter mode (0 for unpack and 1 for pack), next enter the pck archive name (with extension!), next enter the directory name. Theoretically it can extract and repack all of this kind of .pck archives. Test it with other archives and post results here.
  22. Well, truth be told, there is no need to use the method in case of English language. It's necessary (it's not the only possible method. but still) to translate games to languages, which uses not only the letters, that on Shift-JIS are or does not exist, or fill-width only. I'll be brief. 1. You need to create a monpspaced "crutchy font" based on some Japanese font, and take some other monospaces non-Japanese font (Cyrillic in case of Russian language, for example). 2. Next you need to replace some half-width letters with other letters you need to support. 3. Next you need to HEX-edit .exe to change the default font(s) to the new font. 4. And you need to transform scripts in the following way: letters, that was copied to others, you need to change on that other symbols.
  23. On which language, for instance, are you planning to translate that game?
  24. Well, if it's .ks and it's of open format, then it's likely a script of the standart KiriKiri. Just recode it in UCS-2LE (if I remember correctly) and have fun with scripts. You can change an encoding with Notepad++, for example.
×
×
  • Create New...