Tutorial Others Extract, Edit (Uncensor Live2D) and Rebuild TyranoBuilder VNs

javajav

Member
Oct 31, 2019
116
338
TyranoBuilder games are usually distributed as large EXE files. Much like RPG Maker MV, these games contain a NodeJS web server-browser, but lumped together with the assets in one big file. This tutorial describes how to extract the assets and rebuild the exe with modified assets, which would be useful for editing game scripts to translate VNs, or in the given example uncensoring Live2D games :D

EXTRACTING

The assets are all packed in a zip file appended to the end of the exe. An easy way separate the zip is to use .
Place arc_unpacker.exe from the zip in the same folder as your executable. You can either drag your exe onto arc_unpacker (which is slow), or invoke it through the command prompt or a batch file containing (change game.exe to the appropriate name):
Code:
arc_unpacker --dec=microsoft/exe game.exe
Assuming all is well, you will end up with a folder called game~.exe containing many files. The file 'extra_data' is a .zip that contains all the game's assets. It can be opened with your favorite archiver, such as 7-Zip.

extra_data.png

Extract it to a new folder. The game's scripts can be found in data\scenario for those looking to do translations.

EDITING: Uncensor Live2D

If your game contains uncensored textures, Live2D games can be uncensored by editing data\others\live2d\Live2Dtyrano.js

Open it in your favorite text editor and look for the string "this.mosaicDraw = true;"
live2d_mosaic.png
There's even a handy dandy comment telling you that changing "true" to "false" will disable mosaic censorship :)

Save your changes. Go back to top of the extracted extra_data folder, highlight all files and pack into a zip archive
tyrano_rezip.png

REBUILDING WITH MODIFIED ASSETS

Now we have three important files:
Original game EXE
extra_data (original assets)
extra_data~.zip (modified assets)

For this process we'll need a hex editor. I use generally, but it is not a good option for large files since it reads the entire file in RAM.

Open extra_data in your hex editor. If using XVI32, hold shift and press down a couple times to highlight the first couple rows of bytes
xvi32_001.png
With the bytes highlighted, go to edit->clipboard->copy as hex string

Now open your game's exe in XVI32. Hit Search->find, click the bubble next to "Hex string", make sure everything in the box is highlighted and paste
xvi32_002.png
Hit OK and you will be taken to the part of the file where the asset zip starts. 50/"P" should be highlighted. Hit edit->Delete from cursor to trim the ZIP archive off of the file.
xvi32_003.png
Now file->save as and name this new file "part1"
Rename the zip you created in the editing step "part2". You will need to ensure you have to remove the .zip part of the filename.

Make sure your "part1" and "part2" files are in the same folder.
part1_part2.png

Now you will need to either open a command prompt + cd to the folder with the parts, or create a .bat file containing:
Code:
copy /b part1+part2 modded.exe
You'll now have a new .exe ready for testing!
exe_output.png
Move it alongside the original .exe and you're done. Give it a run!
 

javajav

Member
Oct 31, 2019
116
338
The game is ShotaxMonster L2D sadly i cannot post a link because of the restriction
Well, I can tell you with certainty that the game works with this method. For this game you can also swap out the Japanese language files for the English ones tucked away in the assets to make the Japanese version English :)

Double-check that you trimmed the exe properly for the part1 file and that your zip contains all the files and folders in extra_data~ folder and not the extra_data~ folder itself as shown here.
 

Moty123r

New Member
May 21, 2020
1
0
This is rather complex for me to follow, is there a place i can download an already modified version of
 

Big Daddy

Member
Jul 17, 2017
409
940
Badass tutorial, thanks for this. also for those looking to play with other settings, check the config.tjs and KeyConfig.js files in \extra_data~\data\system for some useful config options. Guide to understanding the config.tjs (will have to translate from japanese to english, suggest using google chrome's page translation feature - worked like a charm)
 
Oct 4, 2020
435
873
good tutorial
one question ...
Is there any way if I just edit scenario (translation) to make modded.exe lighter?
and be able to create a lighter patch
Greetings and thank you
 

Weta

Member
Jan 27, 2018
403
560
good tutorial
one question ...
Is there any way if I just edit scenario (translation) to make modded.exe lighter?
and be able to create a lighter patch
Greetings and thank you
I suggest using xdelta to make delta patches if you want a clean and at least borderline legal way of throwing your translation onto a blog.

is simple enough to use for making and applying patches. Just feed it the original file and the modded exe containing your translation and it'll make the delta patch. The lite version included in the releases only contains functionality for applying patches.
 
Oct 4, 2020
435
873
I suggest using xdelta to make delta patches if you want a clean and at least borderline legal way of throwing your translation onto a blog.

is simple enough to use for making and applying patches. Just feed it the original file and the modded exe containing your translation and it'll make the delta patch. The lite version included in the releases only contains functionality for applying patches.
Thank you very much .... I'll look at it
I found a way to do it using
https://f95zone.to/threads/ultrafast-adult-games-compressor-v1-2.80592/
 

Weta

Member
Jan 27, 2018
403
560
Thank you very much .... I'll look at it
I found a way to do it using
https://f95zone.to/threads/ultrafast-adult-games-compressor-v1-2.80592/
Not really the same. The delta patch method is just for supplying a light patch that doesn't contain any actual game data, just the difference between the original and the translated version. Sure you can also compress assets and whatnot, but that will lead to an even bigger delta patch afterwards, since there's more data to be changed between the versions.
But using deltas to supply a translation is just a legal ass covering for your benefit, since there's no actual game data in the files and it's all up to the user of the patch whether they're using a legit or pirated version.

The side benefit is that you'll end up with a fairly small file to distribute instead of having to host an entire pirated version on your blog or whatever, where it's prone for being taken down due to being of a less than legal nature.
 
Oct 4, 2020
435
873
Not really the same. The delta patch method is just for supplying a light patch that doesn't contain any actual game data, just the difference between the original and the translated version. Sure you can also compress assets and whatnot, but that will lead to an even bigger delta patch afterwards, since there's more data to be changed between the versions.
But using deltas to supply a translation is just a legal ass covering for your benefit, since there's no actual game data in the files and it's all up to the user of the patch whether they're using a legit or pirated version.

The side benefit is that you'll end up with a fairly small file to distribute instead of having to host an entire pirated version on your blog or whatever, where it's prone for being taken down due to being of a less than legal nature.
Thank you very much, I'm testing it, but it's going veryyyyyyyy slow
:cry:
 

Mistervd

Well-Known Member
Nov 25, 2017
1,526
1,873
My problem was with WinRar, try to use 7Zip only
I TRIED I DID EVERYTHING BUT IT DIDN'T WORKED!!!
Same issue as you my modded exe starts as node-webkit, I used 7zip and everything but it didn't worked.

Same game too, SxM L2D PLEASE HELP ME!!!