CREATE YOUR AI CUM SLUT ON CANDY.AI TRY FOR FREE
x

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

Hentfreak7

Newbie
Feb 19, 2023
16
7
Thanks! Hmmmm this does not tell. I should add more diverse messages I guess. But I'm sure the file has passed magic checks and the actual issue is with decrypting the file index in the dxArc (probably DARC_HEAD.HeadSize has some unrealistic value, making the allocation fail).

However I suspect that this is a Pro game, so it should have a "Data\Game.wolf" or "Data\Game.data" file as well, could you please attach that (should be a small file)? If nothing else, I might be able to figure out the encryption key from that, and then you can specify the key after pressing F2. No promises though, but I'll try.
It is Game Pro.

I have: Data.wolf which is 1.4gb (not 1.2gb).
and a Game File 1kb which i will upload here


Here a screesnhot from the folder: Game folder.png
 

justaplayer69

Member
Nov 29, 2023
166
200
This is definitely something new. It was created using WolfRPG 3.396, and looks like all the Address fields in the dx8 header are encrypted. I've never seen an encrypted dx8 header before (only dx6 header was encrypted, but the dev had removed that because the encryption key could be easily deducted that way, that's why GR does too btw.)

A dx8 header should be like:
Code:
00000000  44 58 08 00 90 71 01 00  40 00 00 00 00 00 00 00  |DX...q..@.......|
00000010  e4 4f c4 0b 00 00 00 00  60 81 00 00 00 00 00 00  |.O......`.......|
00000020  50 6f 01 00 00 00 00 00  a4 03 00 00 00 00 3a 01  |Po............:.|
00000030  0c 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  94 d6 09 9f d2 71 78 64  c6 9e ca 01 34 77 13 cd  |.....qxd....4w..|
But it is like:
Code:
00000000  44 58 08 00 d4 3c 05 00  a7 41 f5 7b e9 4f f8 53  |DX...<...A.{.O.S|
00000010  0a 88 18 68 43 65 c3 54  87 18 68 42 2b 07 ce 33  |...hCe.T..hB+..3|
00000020  90 15 f1 6b ad 07 6e 48  a4 03 00 00 00 00 4b 01  |...k..nH......K.|
00000030  0c fc 82 50 33 57 72 c3  59 ab 65 55 98 47 c2 eb  |...P3Wr.Y.eU.G..|
00000040  38 08 9f 7b e6 e2 33 76  91 35 6b 41 41 a6 12 d8  |8..{..3v.5kAA...|
The first two bytes is the magic (DX), then version on two bytes (8.0). After that the file index size (HeadSize) on 4 bytes, and 0x53cd4 (343252 bytes) seems about right, but the offset fields after that (8 bytes each) definitely not right, those are bigger than the file size. The CharCodeFormat and Flags are unencrypted again. So when dxlib calculates the required memory as "HuffHeadSize = size - Head.FileNameTableStartAddress ;" that turns out to be negative, which is definitely not okay and causes a memory allocation error.

Also I can confirm that with this latest WolfRPG Pro version there's no separate Game.wolf file like before, the encryption key is embedded in GamePro.exe somehow. I'm afraid no current tool (neither GR nor UberWolf) has implemented a crack for this new encryption method yet.

If someone can share this latest paid version of WolfRPG 3.396 Pro Editor, then I might be able to disassemble and reverse engineer the method from the exe, but it's going to take a while.

ps: I have found the game on pixeldrain .

EDIT: the latest UberWolf release is 0.3.1, but it looks like the which already has this address encryption. So you have to compile UberWolf from the latest source and it will be able to decrypt this game file. I'll look into adding this to GR as well, will take a few days.
 
Last edited:

Hentfreak7

Newbie
Feb 19, 2023
16
7
This is definitely something new. It was created using WolfRPG 3.396, and looks like all the Address fields in the dx8 header are encrypted. I've never seen an encrypted dx8 header before (only dx6 header was encrypted, but the dev had removed that because the encryption key could be easily deducted that way, that's why GR does too btw.)

A dx8 header should be like:
Code:
00000000  44 58 08 00 90 71 01 00  40 00 00 00 00 00 00 00  |DX...q..@.......|
00000010  e4 4f c4 0b 00 00 00 00  60 81 00 00 00 00 00 00  |.O......`.......|
00000020  50 6f 01 00 00 00 00 00  a4 03 00 00 00 00 3a 01  |Po............:.|
00000030  0c 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  94 d6 09 9f d2 71 78 64  c6 9e ca 01 34 77 13 cd  |.....qxd....4w..|
But it is like:
Code:
00000000  44 58 08 00 d4 3c 05 00  a7 41 f5 7b e9 4f f8 53  |DX...<...A.{.O.S|
00000010  0a 88 18 68 43 65 c3 54  87 18 68 42 2b 07 ce 33  |...hCe.T..hB+..3|
00000020  90 15 f1 6b ad 07 6e 48  a4 03 00 00 00 00 4b 01  |...k..nH......K.|
00000030  0c fc 82 50 33 57 72 c3  59 ab 65 55 98 47 c2 eb  |...P3Wr.Y.eU.G..|
00000040  38 08 9f 7b e6 e2 33 76  91 35 6b 41 41 a6 12 d8  |8..{..3v.5kAA...|
The first two bytes is the magic (DX), then version on two bytes (8.0). After that the file index size (HeadSize) on 4 bytes, and 0x53cd4 (343252 bytes) seems about right, but the offset fields after that (8 bytes each) definitely not right, those are bigger than the file size. The CharCodeFormat and Flags are unencrypted again. So when dxlib calculates the required memory as "HuffHeadSize = size - Head.FileNameTableStartAddress ;" that turns out to be negative, which is definitely not okay and causes a memory allocation error.

Also I can confirm that with this latest WolfRPG Pro version there's no separate Game.wolf file like before, the encryption key is embedded in GamePro.exe somehow. I'm afraid no current tool (neither GR nor UberWolf) has implemented a crack for this new encryption method yet.

If someone can share this latest paid version of WolfRPG 3.396 Pro Editor, then I might be able to disassemble and reverse engineer the method from the exe, but it's going to take a while.

ps: I have found the game on pixeldrain .

EDIT: the latest UberWolf release is 0.3.1, but it looks like the which already has this address encryption. So you have to compile UberWolf from the latest source and it will be able to decrypt this game file. I'll look into adding this to GR as well, will take a few days.
Thank you for the time you spend on my issue.
I am not sure what i just read but i still aprecciate it.

I think i will just wait for you to update your tool.

Since you are so tech-savvy i have one unrelated question.

Do you have any insight on how to make Google translate batch translate a whole doujinishi?
So far i i always have to go page by page (another way is to use Sugoi Manga Premium translator, but that costs and the Text detection is worse than google.).
 

justaplayer69

Member
Nov 29, 2023
166
200
Thank you for the time you spend on my issue.
I am not sure what i just read but i still aprecciate it.
TL;DR give a try to the latest UberWolf until I add this to GR.

Do you have any insight on how to make Google translate batch translate a whole doujinishi?
So far i i always have to go page by page (another way is to use Sugoi Manga Premium translator, but that costs and the Text detection is worse than google.).
Nope. You'd need to have some scripting skills to grab the texts from the game, then use googletrans python library to translate them and put the translated texts back.

Otherwise there are some tools (like Translator++ or MTool) that support multiple engines and may also be capable to call Google Translate and put the texts back, but in general there's usually a specific tool for each engine (like SLR, unrenpy -t, the Autotranslator BepInEx plugin for Unity, etc.) which usually requires a certain level of tech-knowledge to use.

Look around on this forum, you might find a free tool for a specific engine, but IMHO give up on finding a single-click bulk translation tool, as those are tend to be non-free (as in proprietary and as paid). Which is understandable because it is a hell lot of work to create such tool.
 

justaplayer69

Member
Nov 29, 2023
166
200
New release, 1.5!

Windows: https://attachments.f95zone.to/2024/12/4366418_gameripper-windows.zip
Linux: https://attachments.f95zone.to/2024/12/4366422_gameripper-linux.zip
Source: https://attachments.f95zone.to/2024/12/4366424_gameripper-src.zip
Repo: gitlab.com/gameripper/gameripper

Changelog:

- Support for latest WolfPRG Pro encryption
- Ripping images and audio from Unity games
- Minor RPGMV map fixes
- Sprites and maps are now sorted by name

I've implemented the latest WRPG encryption, and tested with Princess Colosseum 2, works perfectly. It is also supposed to work when there's a key file (Game.wolf), however I couldn't find any such games so this is untested for now (works with older WRPG Pro, so should work with new encryption as well).

Unity was a PITA to implement. Tested with UnityFS 6,7,8; Unity Assets 12 to 22; and a quite a lot of Unity revisions, latest being 2022.3.34f1. Here the issue is, some game files have a type node tree which is used to decypher the data, but some games don't. For the latter, I've implemented some heuristics and some sane built-in defaults, but if you download the dump file matching the game's revision into the game's folder from , then GR will use that dump file, and with this feature it will work with any future Unity releases as well.

Also there's a PITA with Unity textures. GR can decode most formats on its own (including RGB with ints, floats, half-floats, YUY2, DXT1/3/5, BC4/5 etc.) with just its C code, but specifically CRN (crunch) and some other formats requires a C++ compiler. Source for these has been added in the UT2D directory. If someone is having issues compiling or linking these additional files, then "NO_CPP=1 make" will compile GR without the C++ code. This will reduce the number of supported texture formats, however you'll still be able to decode all the most common ones.

Matching tileset names now become case in-sensitive, because I've found some games where the developers forget the names of their own files, used some uppercase letters but referenced with lowercase. Because of this, map wasn't shown because the tileset couldn't be matched. This is also a very common mistake with WolfRPG games, they store tilesets in the "MapChip" folder, but reference them as "Mapchip" (note the lowercase "c"). Anyway, this is now workarounded, hopefully no more missing tiles on maps.

I've also made the sprites sorted by name, because lots of WolfRPG games does not use a spritesheet, rather store frames on separate sprites, and if these are unsorted, it's difficult to merge them into a single animation with SHIFT+Click.

That's all folks!
 
  • Like
Reactions: CAT0X0 and rzerces

PastPurchase

New Member
Sep 28, 2017
10
53
New release, 1.5!

Windows: https://attachments.f95zone.to/2024/12/4366418_gameripper-windows.zip
Linux: https://attachments.f95zone.to/2024/12/4366422_gameripper-linux.zip
Source: https://attachments.f95zone.to/2024/12/4366424_gameripper-src.zip
Repo: gitlab.com/gameripper/gameripper

Changelog:

- Support for latest WolfPRG Pro encryption
- Ripping images and audio from Unity games
- Minor RPGMV map fixes
- Sprites and maps are now sorted by name

I've implemented the latest WRPG encryption, and tested with Princess Colosseum 2, works perfectly. It is also supposed to work when there's a key file (Game.wolf), however I couldn't find any such games so this is untested for now (works with older WRPG Pro, so should work with new encryption as well).

Unity was a PITA to implement. Tested with UnityFS 6,7,8; Unity Assets 12 to 22; and a quite a lot of Unity revisions, latest being 2022.3.34f1. Here the issue is, some game files have a type node tree which is used to decypher the data, but some games don't. For the latter, I've implemented some heuristics and some sane built-in defaults, but if you download the dump file matching the game's revision into the game's folder from , then GR will use that dump file, and with this feature it will work with any future Unity releases as well.

Also there's a PITA with Unity textures. GR can decode most formats on its own (including RGB with ints, floats, half-floats, YUY2, DXT1/3/5, BC4/5 etc.) with just its C code, but specifically CRN (crunch) and some other formats requires a C++ compiler. Source for these has been added in the UT2D directory. If someone is having issues compiling or linking these additional files, then "NO_CPP=1 make" will compile GR without the C++ code. This will reduce the number of supported texture formats, however you'll still be able to decode all the most common ones.

Matching tileset names now become case in-sensitive, because I've found some games where the developers forget the names of their own files, used some uppercase letters but referenced with lowercase. Because of this, map wasn't shown because the tileset couldn't be matched. This is also a very common mistake with WolfRPG games, they store tilesets in the "MapChip" folder, but reference them as "Mapchip" (note the lowercase "c"). Anyway, this is now workarounded, hopefully no more missing tiles on maps.

I've also made the sprites sorted by name, because lots of WolfRPG games does not use a spritesheet, rather store frames on separate sprites, and if these are unsorted, it's difficult to merge them into a single animation with SHIFT+Click.

That's all folks!
sorry if this is such a noob question... but how do you run this??
 

justaplayer69

Member
Nov 29, 2023
166
200
sorry if this is such a noob question... but how do you run this??
Just download the zip and extract it somewhere, no installation required and no dlls, it is a single exe file. Preferred location is "C:\Program Files (x86)\GAME RIPPER", but could be anything.

After that to run, just
1. click on "gameripper.exe"
2. drag'n'drop the game's folder you want to rip on its window, that's all.

More sophisticated way is:
1. right-click on "gameripper.exe", choose "Create Shortcut"
2. right-click on the shortcut, choose "Properties"
3. in the "Target" field, add command line options, then press "OK"
4. after this to run GAME RIPPER with the specified options, click on the shortcut

Example command line flag: "gameripper.exe -v" (verbose mode, saves detailed log to gameripper.log file, also displays it when you quit).

But you don't need the shortcut for simple ripping, just click on "gameripper.exe".
 
  • Like
Reactions: PastPurchase

PastPurchase

New Member
Sep 28, 2017
10
53
Just download the zip and extract it somewhere, no installation required and no dlls, it is a single exe file. Preferred location is "C:\Program Files (x86)\GAME RIPPER", but could be anything.

After that to run, just
1. click on "gameripper.exe"
2. drag'n'drop the game's folder you want to rip on its window, that's all.

More sophisticated way is:
1. right-click on "gameripper.exe", choose "Create Shortcut"
2. right-click on the shortcut, choose "Properties"
3. in the "Target" field, add command line options, then press "OK"
4. after this to run GAME RIPPER with the specified options, click on the shortcut

Example command line flag: "gameripper.exe -v" (verbose mode, saves detailed log to gameripper.log file, also displays it when you quit).

But you don't need the shortcut for simple ripping, just click on "gameripper.exe".
Thank you!
 

justaplayer69

Member
Nov 29, 2023
166
200
This worked when both WolfDec and UberWolf did not. Awesome release
Thanks! I'm glad GR worked for you!

I might have added some key finding heuristics and also fixed some DXALib bugs, but the real credit still due to Sinflower, WolfDec's and UberWolf's original author. I couldn't make GR without his awesome project. Big kudos to him!
 
  • Like
Reactions: CrazedApple