A downloadable tool for Windows, macOS, and Linux

Download NowName your own price

It is a viewer and editor for Godot Engine's PCK files with the ability to extract content and create new packages. I think this is a very useful application for mod developers or just for exploring the structure of the game. Supports Godot 3 and 4.

Features

  • Explore existing PCK files (regular PCK or Embedded)
  • Extract content from a PCK file
  • Create new PCK files or embed the folder as PCK into any other files
  • Patch PCK files and replace some of their contents with new files from the folder
  • Merge existing PCK into other files
  • Change the version of existing PCK
  • Extract whole embedded PCK
  • Remove embedded PCK
  • Split files with embedded PCK into two separate files
  • Supports encrypted Godot 4 PCK
  • And also all these features are available via the console. Just write GodotPCKExplorer.Console.exe -h to get help.
  • This program is available in two versions:
    • UI: Supports only Windows and requires the installation of the .NET Desktop Runtime
    • Console: Supports WindowsLinux and macOS

The source code is available on Github

PCK Bruteforcer

Also, if you are faced with encrypted PCK for Godot 4 and you want to decrypt it, then you may be interested in PCK Bruteforcer. It can be purchased here or built from source.

But it does not guarantee that the key will be found. The developer may have changed the engine and the key will be impossible to find in the current way.

StatusReleased
CategoryTool
PlatformsWindows, macOS, Linux
Rating
Rated 4.6 out of 5 stars
(12 total ratings)
AuthorDmitriy Salnikov
Tagsfile-explorer, file-viewer, Godot, godot-engine, godot-pck, mods, pck, pck-file, tool, tool-for-modders

Download

Download NowName your own price

Click download now to get access to the following files:

Explorer (UI + Console) dotnet.zip 517 kB
Version 1.5.1
Explorer native-console-win-64.zip 7.9 MB
Version 1.5.1
Explorer native-console-win-86.zip 7 MB
Version 1.5.1
Explorer native-console-linux-64.zip 5.7 MB
Version 1.5.1
Explorer native-console-mac-universal.zip 11 MB
Version 1.5.1
PCK Bruteforcer (UI + Console) dotnet.zip 550 kB
if you pay $5 USD or more
Version 1.0.1

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Есть способ сделать покупку у вас в обход сайта? А то он мне недает это сделать

(+1)

Да, можно попробовать. Напишите мне на почту поддержки, которая указана в профиле. Я пришлю ссылку на оплату $5 (400р) и после оплаты вышлю ссылку с ключом активации.

How do I open the project.binary file?

Via the Hex editor.

But seriously, the file name says .binary, not .godot, this means that the file was converted from text to binary during export. At the moment, you need to use other tools to change this file.

Perhaps I will add the ability to convert this file to text, if possible. This would be just as useful as restoring .ctex (which cannot be restored currently either).

Does this also applies to the .import and .remap files? If so, which tool do you recommend me?

gdsdecomp is trying to decompile everything. It sometimes works, but it does it extremely slowly.

I am currently exploring what I need to convert binary data from Godot and the main problem that I have now is to port the marshaling code (and all types of godot Variant…). After that, I should have enough tools to restore project.binary to the project.godot.

So... what's the difference between this program and Godot RE Tools?

This program was originally created to view the contents of a PCK, after which I added the ability to extract files (without restoring them) and create new PCKs.

gdsdecomp was originally created to decompile GDScript from Godot 3 and restore resource files.

(+1)

Is there a way that I can make the .png.import files viewable?

(+1)

There is no such functionality at this time. But I’ve already looked at encoding and decoding Godot resources. At this moment, you can use another tool gdsdecomp.

But if you just want to view PNG/WebP images from PCK, you can use my other tool.

(+2)

Worked PERFECTLY for the game I had.

I'm trying to use this, but it just stops at 64% and just stays there. Any idea what's wrong?

Can you provide more information? It is advisable to provide a PCK file.

I have a question. Does this allow me to customize the file paths for the files I pack?

For example can I get a file at res://Graphic/icon.png and pck it at the file path res://Graphic/UI/64x/icon.png ??

When you pack the PCK, you specify the root folder that will be packed with the hierarchy preserved. First, unpack the PCK somewhere, then change the contents of the extracted files and specify the same folder when packing.

  • But there are problems here: Firstly, usually exported resources/textures are not located like res://Graphic/icon.png'. This path usually contains a remap file that references file inside .godot/imported`.
  • Secondly, this image can be loaded from the script, which will also have to be changed.
(+1)

I see.
The reason I ask this question is because my file path looks a little like this:

res://App/Extensions/My_current_extension/files_i_want_to_pack

res://App/Extensions/My_other_extension/files_i_dont_want_to_pack

etc..

the problem is that I want to pack only 'my_current_extension' but with the full file path from res://

If I wanted to do the full file path I would need to select 'App' as the root folder and deselect every other file but I have too many files for that to be something feasible so I was hoping there was an alternative way of customizing the file path used in the pck.

I was thinking like a textbox where I can write a custom path to attach to the front of the root folder path.

Like this: 'res://App/Extensions/' and then my root folder is 'my_current_extension'

This would remove the need to deselect a ton of misc files that I don't want exported.

(2 edits) (+2)

need to select ‘App’ as the root folder

Actually if you specify as the root C:/My/App, then inside the PCK there will be paths without App.

I think I need to add a preview of the paths inside the PCK 😅 (link)

It is also probably worth adding packing and extraction modes that would take into account only filtered/visible elements. (link)

Regarding the prefix, I created a issue

(+1)

ahh good to know!

Thanks for taking my idea into consideration, I think your filter based pack/extracting is also a great feature to include as well!

This is a fantastic tool and I'm glad you are working on it. Thank you!

If I have any other ideas I'll be sure to let you know :)

Does it work on Encrypted 

(+1)

Yes, it works with Encrypted PCKs, BUT you have to get the key yourself. Later, I’ll try to add some kind of “hacking” logic, probably it will be a separate program.

If you have an encrypted project, can you provide a link to it (exe + pck)? I will use it during development, if it is possible to get the key at all…

https://drive.google.com/file/d/1pyF3cYlwuiNaShwo0Khh-rsMjyIfQTq7/view?usp=shari...
Here's Game Project in 3.3 version of Godot. I know it's illegal to Reap Someone project. But here i am Doing  it just for learning purpose and I'm working on latest Godot 4 Version. I have provide you all things.  Its  all embed in EXE only.  PCK i extract myself.

(+1)

Oh, yes, this program does not support Godot 3 Encryption yet. So you can use it to open and unpack files, but they will remain encrypted.

This program, as I understand, it only works with Godot 3. Because it could not get the key from my Godot 4.0.2 test program.

But I like the idea of this program and I thought I would do a scan of the assembler of the program myself. But then I decided that it would be more difficult and I have already made my own program that iterates through all the bytes of the engine in search of the key. It is much slower (2-6 minutes), but thanks to this program I have greatly optimized GodotPCKExplorer.

Later, I may implement a key search in the assembler of the program.

(+1)

Thanks for this program.  I didn't think I'd be able to extract the resources out of the game I was looking at. (It was just an exe by itself with no external files.)  But your program was able to find and extract the resources out of the exe, Thanks.  ^_^

Awesome, I was looking for something like this for a while! Thanks!

Thank you for this tool :)