Tool GAME RIPPER (decrypt and extract Ren'Py, Godot, Unity, Unreal, WolfRPG, RPGM XP/VX/Ace/MZ/MV, SRPGStudio, Bakin, PGMMV, GMS, APK, JAR, WASM, EXE etc.)

5.00 star(s) 1 Vote

kunamatata99

Member
Sep 26, 2025
138
281
114
Hi, sorry for this noob question, but how do I use it? I'd like to rip a 3D character model from a BAKIN game.
 

justaplayer69

Member
Nov 29, 2023
439
533
161
Hi, sorry for this noob question, but how do I use it? I'd like to rip a 3D character model from a BAKIN game.
1. Check the "unpack and exit" checkbox
2. drag'n'drop the game's folder on the GR window

Step 1 is needed because GR does not list 3D models on its UI. However "unpack and exit" feature decrypts and unpacks all files. What 3D model format BAKIN uses is a different question, but you'll get them.
 

kunamatata99

Member
Sep 26, 2025
138
281
114
1. Check the "unpack and exit" checkbox
2. drag'n'drop the game's folder on the GR window

Step 1 is needed because GR does not list 3D models on its UI. However "unpack and exit" feature decrypts and unpacks all files. What 3D model format BAKIN uses is a different question, but you'll get them.
OMG it worked, thank you so much! One question, do you know why it exports the model so small, it's almost invisible xD The only way to fix it is by removing the rig. If that's the only way to make it look normal, I'm not complaining, I'll do it myself later, just to save myself some time xD
 
Last edited:

justaplayer69

Member
Nov 29, 2023
439
533
161
OMG it worked, thank you so much!
You're welcome!
One question, do you know why it exports the model so small, it's almost invisible xD
Like I've said, GR does not decode and export the models, it just extracts vanilla files in whatever format they might be.
The only way to fix it is by removing the rig. If that's the only way to make it look normal, I'm not complaining, I'll do it myself later, just to save myself some time xD
I don't know the actual format used, but all 3D model formats are vector formats, meaning you can surely scale them.
I don't know the software you're using either, but in Blender you can scale the overall world coordinate system, so it doesn't matter what the original model size was.
With other software, for rigs you probably need to scale the armature and not the mesh, that's all (rigged models have meshes with vertices in armature bone relative coordinates).

If the format is GLTF, then you can even simply edit the transformation matrix in its JSON. Or it might have a "scale" key, then just adjust that to bigger numbers. If everything else fails, and there's a "camera" key, delete that JSON block so that your software should use its default camera settings.

Anyway, this is a matter of the 3D model format, and has nothing to do with GR. I would suggest Blender, because it can import all common formats (might need a plugin though), and then you can scale the model to your liking and export in whatever format you want. Removing the rig shouldn't be needed.
 

Mr.Momo

Member
Sep 7, 2022
107
309
237
Thank you very much for creating and sharing this magnificent tool! It works beautifully for Mr.Momo.

On the tab displaying a list of file paths pointing to resources, is it possible for you to add a horizontal scrollbar? This is to view long pathnames on smaller screens.
 

repomansez

Newbie
May 22, 2025
24
29
13
The workaround I found for the extremely high RAM usage was to create a very big SWAP file and use cgroups2 to force gameripper to only be allowed to use swap lmfao, not pretty but works
 

justaplayer69

Member
Nov 29, 2023
439
533
161
The workaround I found for the extremely high RAM usage was to create a very big SWAP file and use cgroups2 to force gameripper to only be allowed to use swap lmfao, not pretty but works
Checking the "Unpack and exit" checkbox is probably easier. That mode does not keep all decoded assets in memory, just one file at a time, so it's RAM usage is much lower.
 
  • Like
Reactions: whitemage88

whitemage88

Member
Jul 25, 2020
106
98
146
Checking the "Unpack and exit" checkbox is probably easier. That mode does not keep all decoded assets in memory, just one file at a time, so it's RAM usage is much lower.
I have been using this program for weeks or months now and I hadn't noticed that checkbox until now due to the slightly different checkbox coloring...
I thought the only way was to start it with -d or whatever...

In my defense, it defaults to my system language of japanese and I just glossed over the text at the bottom as a result.
...I feel silly now.
 
  • Like
Reactions: Sapient Monkey

justaplayer69

Member
Nov 29, 2023
439
533
161
Don't be. GR's UI is admittedly hackish and already went through multiple fixes, but still not ideal (hacking together your widgets is the price to pay for being dependency-free).

BTW, "Unpack and exit" checkbox is exactly the same as the "-d" flag. The flag was available from the beginning, and later I had to make that feature accessible from the UI as well , of course with the smallest effort possible, so it's just a quick'n'dirty fix of a quick'n'dirty UI...
 
  • Like
Reactions: whitemage88

Goeffel

Well-Known Member
Sep 10, 2022
1,019
720
238
Thank you for the tool, I do not need to understand much and can just run it to then access files. nice.
Though I side with the poor legibility complaint, and I am old enough which is actually the point: eyesight is not getting better.
--------------

*note to self and the next idiot like me*

Q: Why is every unpacked image seemingly a *.png but turns out to be WEBP?
A: You downloaded the "Compressed" version of the game. Don't do that, get the real thing.
took me a whole day to understand :rolleyes:
------------------

There is a tiny visual inconvenience, when loading game into the gui: for music it does not display files from sub-sub folders and I do not see a button or so to display sub-sub folders.
no idea if same happens with images/sprites - I do not know my way enough to understand the numbers there.

With "Extract all" the files are unpacked alright, just not shown in the gui (example screenshots from a rpgmz game, Laura of Reigetsu - 2nd screenshot is the perfectly unpacked bgm folder).

wish everyone some nice holidays.

gameripper_bgm.jpg actually_bgm.jpg
 

justaplayer69

Member
Nov 29, 2023
439
533
161
Thank you for the tool, I do not need to understand much and can just run it to then access files. nice.
You're welcome!
Though I side with the poor legibility complaint, and I am old enough which is actually the point: eyesight is not getting better.
To avoid dependencies (such as installed fonts), GR embeds GNU-unifont, which is a non-scalable bitmap font that comes in one size only: 16px. Sorry.
If you know another bitmap font that's legally free to use, larger, more readable and has at least the same level of UNICODE coverage I'll replace the font.
There is a tiny visual inconvenience, when loading game into the gui: for music it does not display files from sub-sub folders and I do not see a button or so to display sub-sub folders.
There isn't, and shouldn't be such button.
With "Extract all" the files are unpacked alright, just not shown in the gui
Strange, both is called to descend into 10 levels of subfolders: (GUI) and (unpacker).
screenshots from a rpgmz game, Laura of Reigetsu - 2nd screenshot is the perfectly unpacked bgm folder
Can you please provide a link to that game so that I can take a look? Gofile, meganz, workupload, pixeldrain, etc.?
 

Goeffel

Well-Known Member
Sep 10, 2022
1,019
720
238
To avoid dependencies (such as installed fonts), GR embeds GNU-unifont, which is a non-scalable bitmap font that comes in one size only: 16px. Sorry.
If you know another bitmap font that's legally free to use, larger, more readable and has at least the same level of UNICODE coverage I'll replace the font.
Oh it is not such a big deal.
For example first time I did not see/ notice that "Extract and exit" is an option, mistook it for just status (modus) text. But if one takes the time to look at everything, it is fine.

Strange, both is called to descend into 10 levels of subfolders:
ah, for me it was just 8 levels from C: , like:
C:\Users\leckm\_games\__TEMP\Laura of Reigetsu-1.10-Eng-Patched\audio\bgm\Title_BGM\
+ \unpacked = 9 levels ?

The game (2.5 GB) is here: https://f95zone.to/threads/laura-of-reigetsu-v1-10-steam-piyokogundan.166882/
or compressed version (1 GB bob69) here: https://f95zone.to/threads/laura-of-reigetsu-v1-10-steam-piyokogundan.166882/post-17206673

-------------
I now look forward to learning about animations and getting gifs from some games - such is all new to me, but with your tool and some reading up I hope to get there. (y)
 

justaplayer69

Member
Nov 29, 2023
439
533
161
Hi, excuse me, do you know how I could open this game?

Or is it not possible with the program?

https://f95zone.to/threads/nekontr-v0-0-12-nekoaddict.245099/
Sadly this game isn't working. It is uses the Godot engine, GR locates the data correctly, it extracts the directory properly, but the assets are marked non-encrypted while they are obviously encrypted (resource files, like .ctex files do not start with the required "RSRC" magic bytes).
Code:
 ...
Godot executable 'NekoNTR-0.0.12.exe'
section  0:      400  49b9800 .text
section  1:  49b9c00    e4200 .data
section  2:  4a9de00   e03600 .rdata
section  3:  5d03400 262d7380 pck
section  4:  58a1600   1d0a00 .pdata
section  5:  5a72000   20e000 .xdata
section  7:  5c80000      200 .edata
section  8:  5c80200     5c00 .idata
section  9:  5c85e00      200 .CRT
section 10:  5c86000      200 .tls
section 11:  5c86200    26000 .rsrc
Godot Pack offs 5d03400 size 640512896, version 2, engine 4.4.1, list offs 64, data offs 78800, numfiles 5089, len 640512896
file in archive '_godot/exported/133200997/export-006276c08dd6324cb1849a4d02d13f4e-char_edit_p_section_main.scn' (3660 bytes, @8c3a0, encrypted 0)
file in archive '_godot/exported/133200997/export-022fc2ef4ae1ba69f213292e791e3f69-button_pressed.res' (1010 bytes, @216774c0, encrypted 0)
file in archive '_godot/exported/133200997/export-0254c2ea0e7d1f0d66ed49b1b5271693-field_array.scn' (2304 bytes, @ad920, encrypted 0)
file in archive '_godot/exported/133200997/export-045a60f973b8bd25b0d34a0c439a5e7f-search_char_template.scn' (2656 bytes, @216889d0, encrypted 0)
file in archive '_godot/exported/133200997/export-08710a358045f9466df83caf96aefa32-full_advance_input_layer.scn' (1128 bytes, @3245c0, encrypted 0)
file in archive '_godot/exported/133200997/export-0afa2e04d0404f51a24d4bd87a3dc0bc-player_message.res' (1025 bytes, @21669730, encrypted 0)
file in archive '_godot/exported/133200997/export-0bcf1da2044c80819bd05c63a33ebdb5-history_layer.scn' (3025 bytes, @322870, encrypted 0)
file in archive '_godot/exported/133200997/export-0d115bad48f26a5c202a14e5b5c36b57-array_part.scn' (2646 bytes, @abac0, encrypted 0)
file in archive '_godot/exported/133200997/export-0df756cbdf637713e408b83e3ea351a2-home_screen.scn' (4410 bytes, @2167fd80, encrypted 0)
file in archive '_godot/exported/133200997/export-0e63420d5d5befbdd32018830ef76a8e-field_color.scn' (912 bytes, @af8c0, encrypted 0)
file in archive '_godot/exported/133200997/export-108a1f4736d18c2491f8cf809597b229-preview_character.res' (1247 bytes, @3057d0, encrypted 0)
file in archive '_godot/exported/133200997/export-1392783fded7c65e71c073259c23a6ca-button.res' (957 bytes, @21665b10, encrypted 0)
file in archive '_godot/exported/133200997/export-13dc216148396112aa39828b55e5eaac-ppv.scn' (4032 bytes, @21687710, encrypted 0)
file in archive '_godot/exported/133200997/export-13f7eff754c8167f64a01b92e52780ed-dm_received.scn' (2093 bytes, @2167c180, encrypted 0)
file in archive '_godot/exported/133200997/export-140e1be54aca91a0ac7bc7efbe1e1b34-sounds.scn' (701 bytes, @2604c6b0, encrypted 0)
file in archive '_godot/exported/133200997/export-17427fc10ee2c192173c4dedf8375a29-BranchEnd.scn' (2720 bytes, @c24f0, encrypted 0)
file in archive '_godot/exported/133200997/export-191b78ef2eb50fdaf59bc1469915f365-timeline_editor.scn' (6361 bytes, @111700, encrypted 0)
file in archive '_godot/exported/133200997/export-1c0fb9a6bca9a001eb3a1ce9babd5216-reference_manager.scn' (11108 bytes, @993b0, encrypted 0)
file in archive '_godot/exported/133200997/export-1c7ffd644cd03f0975a5f06a683b59aa-message.res' (1018 bytes, @21666d50, encrypted 0)
file in archive '_godot/exported/133200997/export-1d3397f989702b99da31fd1f68fe6070-version_end_008.scn' (2111 bytes, @2166b060, encrypted 0)
file in archive '_godot/exported/133200997/export-1ecb7a557a5b440d89658245acef59ef-onlyfyans_theme.res' (1217 bytes, @216825f0, encrypted 0)
file in archive '_godot/exported/133200997/export-1f5933353aded39238e5f5301945fe80-search_control.scn' (1136 bytes, @21689770, encrypted 0)
 ...
(Note "encrypted 0") The most likely scenario is, the game is using some custom made obfuscation plugin. GR can't run Godot plugins so it only supports the official Godot AES encryption.

You might try GDREtools ( ), as that's being a Godot app itself it might be able to run that plugin to deobfuscate the assets. Just a guess, worth a try.
 
Apr 29, 2022
214
371
228
You might try GDREtools ( ), as that's being a Godot app itself it might be able to run that plugin to deobfuscate the assets. Just a guess, worth a try.
Tested it, can confirm gdre_tools work. Unpacks images and videos from that one game.

gameripper shows no preview tab; unpacking with 'decrypt/unpack all' does create a bunch of files (should it do so in this case?), but video files can't be opened and there are no images.
 

Alvillo

Member
Jul 20, 2020
427
265
248
Sadly this game isn't working. It is uses the Godot engine, GR locates the data correctly, it extracts the directory properly, but the assets are marked non-encrypted while they are obviously encrypted (resource files, like .ctex files do not start with the required "RSRC" magic bytes).
Code:
...
Godot executable 'NekoNTR-0.0.12.exe'
section  0:      400  49b9800 .text
section  1:  49b9c00    e4200 .data
section  2:  4a9de00   e03600 .rdata
section  3:  5d03400 262d7380 pck
section  4:  58a1600   1d0a00 .pdata
section  5:  5a72000   20e000 .xdata
section  7:  5c80000      200 .edata
section  8:  5c80200     5c00 .idata
section  9:  5c85e00      200 .CRT
section 10:  5c86000      200 .tls
section 11:  5c86200    26000 .rsrc
Godot Pack offs 5d03400 size 640512896, version 2, engine 4.4.1, list offs 64, data offs 78800, numfiles 5089, len 640512896
file in archive '_godot/exported/133200997/export-006276c08dd6324cb1849a4d02d13f4e-char_edit_p_section_main.scn' (3660 bytes, @8c3a0, encrypted 0)
file in archive '_godot/exported/133200997/export-022fc2ef4ae1ba69f213292e791e3f69-button_pressed.res' (1010 bytes, @216774c0, encrypted 0)
file in archive '_godot/exported/133200997/export-0254c2ea0e7d1f0d66ed49b1b5271693-field_array.scn' (2304 bytes, @ad920, encrypted 0)
file in archive '_godot/exported/133200997/export-045a60f973b8bd25b0d34a0c439a5e7f-search_char_template.scn' (2656 bytes, @216889d0, encrypted 0)
file in archive '_godot/exported/133200997/export-08710a358045f9466df83caf96aefa32-full_advance_input_layer.scn' (1128 bytes, @3245c0, encrypted 0)
file in archive '_godot/exported/133200997/export-0afa2e04d0404f51a24d4bd87a3dc0bc-player_message.res' (1025 bytes, @21669730, encrypted 0)
file in archive '_godot/exported/133200997/export-0bcf1da2044c80819bd05c63a33ebdb5-history_layer.scn' (3025 bytes, @322870, encrypted 0)
file in archive '_godot/exported/133200997/export-0d115bad48f26a5c202a14e5b5c36b57-array_part.scn' (2646 bytes, @abac0, encrypted 0)
file in archive '_godot/exported/133200997/export-0df756cbdf637713e408b83e3ea351a2-home_screen.scn' (4410 bytes, @2167fd80, encrypted 0)
file in archive '_godot/exported/133200997/export-0e63420d5d5befbdd32018830ef76a8e-field_color.scn' (912 bytes, @af8c0, encrypted 0)
file in archive '_godot/exported/133200997/export-108a1f4736d18c2491f8cf809597b229-preview_character.res' (1247 bytes, @3057d0, encrypted 0)
file in archive '_godot/exported/133200997/export-1392783fded7c65e71c073259c23a6ca-button.res' (957 bytes, @21665b10, encrypted 0)
file in archive '_godot/exported/133200997/export-13dc216148396112aa39828b55e5eaac-ppv.scn' (4032 bytes, @21687710, encrypted 0)
file in archive '_godot/exported/133200997/export-13f7eff754c8167f64a01b92e52780ed-dm_received.scn' (2093 bytes, @2167c180, encrypted 0)
file in archive '_godot/exported/133200997/export-140e1be54aca91a0ac7bc7efbe1e1b34-sounds.scn' (701 bytes, @2604c6b0, encrypted 0)
file in archive '_godot/exported/133200997/export-17427fc10ee2c192173c4dedf8375a29-BranchEnd.scn' (2720 bytes, @c24f0, encrypted 0)
file in archive '_godot/exported/133200997/export-191b78ef2eb50fdaf59bc1469915f365-timeline_editor.scn' (6361 bytes, @111700, encrypted 0)
file in archive '_godot/exported/133200997/export-1c0fb9a6bca9a001eb3a1ce9babd5216-reference_manager.scn' (11108 bytes, @993b0, encrypted 0)
file in archive '_godot/exported/133200997/export-1c7ffd644cd03f0975a5f06a683b59aa-message.res' (1018 bytes, @21666d50, encrypted 0)
file in archive '_godot/exported/133200997/export-1d3397f989702b99da31fd1f68fe6070-version_end_008.scn' (2111 bytes, @2166b060, encrypted 0)
file in archive '_godot/exported/133200997/export-1ecb7a557a5b440d89658245acef59ef-onlyfyans_theme.res' (1217 bytes, @216825f0, encrypted 0)
file in archive '_godot/exported/133200997/export-1f5933353aded39238e5f5301945fe80-search_control.scn' (1136 bytes, @21689770, encrypted 0)
...
(Note "encrypted 0") The most likely scenario is, the game is using some custom made obfuscation plugin. GR can't run Godot plugins so it only supports the official Godot AES encryption.

You might try GDREtools ( ), as that's being a Godot app itself it might be able to run that plugin to deobfuscate the assets. Just a guess, worth a try.
thanks :"v
 

justaplayer69

Member
Nov 29, 2023
439
533
161
Tested it, can confirm gdre_tools work. Unpacks images and videos from that one game.
Thanks, good to know! It's a custom Godot plugin then.
unpacking with 'decrypt/unpack all' does create a bunch of files (should it do so in this case?)
Yes, "unpack all" should unpack all files, even the ones that are not recognized.
but video files can't be opened and there are no images.
Correction: there are image files (under "_godot\imported\*.ctex"), only they are left un-decrypted and un-decoded because those .ctex files do not start with the Godot magic. I've checked some, and they all seem to use different keys (probably derived from the file name), so it's hard to deduct the obfuscation algorithm from the data alone.

Either this, or the embedded pack uses encrypted offsets (it's possible that this Godot plugin mimics Ren'py RPA encryption, eg. it's not the content, just the offset and size is encrypted, therefore GR gets the wrong data, hence wrong magic). If you take a closer look at the log, offsets are not growing continuously with the asset size, rather they seem to be altering, so this is also possible.

EDIT: I take all that back. It seems offsets are just not adjusted to the embedded offset. If I add 5d03400 to them then GR extracts everything just fine. Now the question is, when do we have to add the offset? Because I have Godot games where the offsets are absolute and not relative, and I'm not sure how to tell those apart.
 
Last edited:

justaplayer69

Member
Nov 29, 2023
439
533
161
New XMAS release with minor fixes!

Windows: https://attachments.f95zone.to/2025/12/5585020_gameripper-windows.zip
Linux: https://attachments.f95zone.to/2025/12/5585021_gameripper-linux.zip
Source: https://attachments.f95zone.to/2025/12/5585022_gameripper-src.zip
Repo: codeberg.org/gameripper/gameripper

Changelog:
- listing BGM in RPG Maker games fixed
- supporting relative and absolute offsets in embedded Godot Packs

As it turns out, all bgm assets in sub-subfolders were properly decrypted and decoded, they just ended up under the SFX tab. I've fixed this, but now there's a slight chance that some sfx might end up on the bgm tab instead... So not a perfect solution, just much better than before (sadly no exact method exists to tell if an ogg asset is actually a music or a sound effect, there'll always be a slim chance of misdetection).

As for the embedded Godot Pack, I try to detect relative offsets, it seems to be working, at least NekoNTR is ripped perfectly now!

Happy holidays and fapping to you all.
 
5.00 star(s) 1 Vote