justaplayer69
Member
- Nov 29, 2023
- 318
- 362
I have not, because I did not need this, but if you guys want this feature, I can take a look.Hey justaplayer69 are you planning on adding functionality for decrypting godot GDScript files?
That's a different key. There's a decryption key to decrypt the pack files, this is what you can specify manually. This is solely used to extract files, gdscript is a totally different kind of beast.I tried to use your tool but it just saved every gdscript file as gde(encrypted gdscript). I know that i can manually define the decryption key
I'll look into it.but the thing is i dont know it and i hoped that your tool could automatically detect it somehow.
Yep, not easy to use, and even if it worked, godot-key-extract looks for the unpacking decryption key and not the gdscript key.I tried to useYou must be registered to see the linksbut it failed to find it. I also tried statically searching for it in the executable but i couldnt find it with ghidra.
Thanks, I'll take a look, but no promises. I haven't researched yet how gdscripts are encoded, it is possible that they are not using any key rather a bytecode or something. I'll let you know when I've figured it out and if it's doable.The game im trying it on is https://f95zone.to/threads/anomalous-coffee-machine-v0-8-00-deluxe-horubrain.220446/
Depends on the engine.where does the unpatch files located after I click unpack all?
For RPG Maker, they are extracted next to the encrypted file but with normal extension (eg. img/pictures/AAA.rpgmvp will be saved to img/pictures/AAA.png). For Pixel Game Maker, the encrypted assets will be simply replaced with unencrypted assets (because they are using the same file name, and the engine can work with unencrypted assets just fine).
For WolfRPG, Unity, Ren'Py and other archive based engines, a directory by the same name as the archive is created and files are extracted under (for example Data.wolf will be unpacked into the Data\ directory; files in Game\archive.rpa will be extracted under Game\archive\ etc.).
The exception to this rule is Godot, those archives are extracted to the filenames as Godot references them (it's just leading dots are replaced with an underscore). For example if a Godot resource is referenced as "res://.godot/imported/AAA.ctex", then that will be extracted to _godot\imported\AAA.ctex, and the converted image is saved as _godot\imported\AAA.png. Keep in mind that this is just an example, games might use different paths for resources, however "_godot\imported" folder seems to be the most common variant.
Finally, assets embedded in binaries are extracted as "file@hexoffset.format". For example if there's a png image in the executable at offset 4096, that will be saved to "game.exe@0001000.png". If an archive is embedded, then a directory is created and files are saved under just like with non-embedded archives.
Last edited: