Users browsing this thread: 1 Guest(s)
How to extract files from TyranoBuilder (NWJS, .exe)
#1
How to get the images and sound from a TyranoBuilder-made game, which uses node-webkit (NWJS) to create windows executables?

Sample game (free): AnimeNovel.exe demo, 310MB

[Image: Fpy4W8L.png]
(locales/ is empty)

I tried using dragon unpacker (hyperripper) on the .exe, .dat (no results) and .pak files:
[Image: 9oeJOey.png]
(.exe, not sure these images are used in-game and none of the actual interesting art is there)

[Image: ONxsR7G.png]
(.pak, apparently some NWJS internal files)

Would love any clues. Looks like it uses EGL (not even OpenGL ES?).
Reply
Thanked by:
#2
I  did some more reasearch.

It seems that the "normal" node-webkit way is to package the data using copy /b:

Code:
copy /b nw.exe+app.nw app.exe

However in my experience (love2d), these files can be opened with 7z just like that (I cannot). Note: .nw files are supposed to be renamed .zip files.

Perhaps it is not possible due to the size and the complexity leading to confusion of 7z? Then perhaps it is required to find the right size/position? Which I have no idea how to find out ( all I found is https://stackoverflow.com/questions/3272...ip-out-exe and I don't know how to code/compile C unfortunately). This is probably the wrong way to go though.

I got HxD to look at the file and I was able to find some PNG file headers (at least that' what I think they are. I simply compared to a true PNG and cut off everything before the header/after the footer). This seems to partially work. However only the first few lines of the image are visible (fun fact: imgur wouldn't let me upload the image so I had to open and save it and GIMP and paint.exe open the file differently:

[Image: tWiPBPl.png]
(paint.exe)

[Image: b8pnxaP.png]
(gimp)

Again, the first top lines look like in-game material to me.

So far I have failed identifying ZIP header/footers in the .exe that give any results.
Reply
Thanked by:
#3
In your place I would just rip these 2D textures directly from in-game, but I don't know if a way exist for WebGL renderer (maybe OGLE ?).
Reply
Thanked by:
#4
(01-24-2018, 11:36 AM)iyenal Wrote: In your place I would just rip these 2D textures directly from in-game, but I don't know if a way exist for WebGL renderer (maybe OGLE ?).

Thanks. I tried GLIntercept and Apitrace but both seem to not support EGL (or OpenGL ES? Even though it's supposed to be an option in apitrace).

Also I was wrong about this being Construct2 games. It's actually TyranoBuilder (a lot of engines use NWJS these days). I updated the title and post.
Reply
Thanked by:
#5
Hi,

I noticed the date on this thread, but better late than never (or something like that)

This should work for TyranoBuilder games:

Get arc_unpacker latest stable version from here (tested with 0.11)
Extract it (it's a .zip file, so use 7z, winzip, winrar  etc, I use winrar 5.50 64-bit), and move arc_unpacker.exe and the subfolder "etc" to your game folder (where your game .exe is located)

From here, two ways to proceed, one is to make a bat file (saves time)
- Simply make a new text file in your game folder, open it and type or copy/paste this line:
arc_unpacker --dec=microsoft/exe nameofyourgamefile
In the case of this game it would look like this:
arc_unpacker --dec=microsoft/exe animenovel.exe
Save your text file, and change the extension from .txt to .bat
Run the .bat file (double click it)
Or
- Drag and drop your game file (in this case animenovel.exe) on the arc_unpacker.exe file in your file browser, and wait while it tries to detect the right decoder, it will take time but it will find it (that's why the first method saves time)

Once it's done decoding, you will find a new subfolder in your game folder (in this case named "animenovel~.exe"), with 50 files, you can discard all of them, except the one named "extra_data", that is the actual game content, open it with your unpacking tool (I use winrar 5.50 64-bit as I said, did not try with 7z, winzip etc) and extract the content, and done.

I tried it on 3 games so far, worked on all of them, including this one, but not sure if it will work 100% with all TyranoBuilder games.
Reply
Thanked by:


Forum Jump: