Giter Site home page Giter Site logo

godotdec's Introduction

godotdec

An unpacker for Godot Engine package files (.pck)

Usage

godotdec [<options>] <input_file> [<output_dir>]

Options:
Flag (short) Flag (long) Description
-c --convert Convert certain engine-specific file types (textures, some audio streams) to standard formats.

Technical details

Godot Engine's package format is specified as:

Value/Type Description
0x43504447 Magic number (GDPC)
4 x Int32 Engine version: version, major, minor, revision
16 x Int32 Reserved space, 0
Int32 Number of files in archive
----- Begin of file index, for each file the following data is stored ----
Int32 Length of path string
String Path as string, e.g. res://actors/Enemy/enemy.atex
Int64 File offset
Int64 File size
16 bytes MD5
----- Begin of file contents -----

The source code of the .pck packer can be found here

Limitations

  • This tool is designed to extract assets. If you are interested in the scripts of a game, check out Godot RE Tools
  • MD5 checksum is not used to verify extracted files
  • Format conversion is only supported for .png, .ogg
  • Modified engine versions may use a custom package format, which godotdec does not support

Remarks

No reverse engineering has been used to write this tool.

I released it as a helper for artists to search games for unlicensed use of their assets. It is not meant to encourage extraction with the sole purpose of using assets in your own products without permission of the copyright holder.

Remember: don't steal assets from other people's games. Respect copyrights. And don't protect your own games - it's unnecessary effort.

godotdec's People

Contributors

bioruebe avatar gmman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

godotdec's Issues

Compilation error

Hello,

I tried building the latest source, as of 2024.3.5, with MSVC 2022, but I get the following build errors:

1>W:\Github\godotdec\godotdec\Program.cs(31,50,31,58): error CS1501: No overload for method 'FileOpen' takes 3 arguments
1>W:\Github\godotdec\godotdec\Program.cs(227,36,227,59): error CS1061: 'BinaryReader' does not contain a definition for 'Read32BitPrefixedString' and no accessible extension method 'Read32BitPrefixedString' accepting a first argument of type 'BinaryReader' could be found (are you missing a using directive or an assembly reference?)

2.1.2 is broken

For some reason the latest release doesn't unpack right. Instead of the files having the content they are supposed to have, they have an exact copy of the .pck for X amount of bytes instead.
Last version before this still works fine on the same .pck

Encrypted .pkg File Support

Will there ever be support for encrypted .pkg files if the encryption key is provided? If not would it be possible to decrypt a .pkg file without decompiling?

Thanks.

Godotdec not working at all with godot 4.0

Godotdec doesn't work with godot 4.0 games.

Info:

  • Running under wine with .Net Framework 4.8 installed.

Commands tried:

  • godotdec -c app.exe extract
  • godotdec -c app.pck extract
  • godotdec -c full_path\app.exe extract
  • godotdec -c full_path\app.pck extract

Screenshot:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.