A Rust tool for extracting and parsing game assets.
Find a file
2026-02-05 03:55:49 +02:00
chacha20 feat: Init 2026-02-02 05:04:19 +02:00
fluffy-dumper feat: Implement audio dumping 2026-02-05 03:55:49 +02:00
sparkbuffer feat: Init 2026-02-02 05:04:19 +02:00
vfs feat: Init 2026-02-02 05:04:19 +02:00
vgmstream feat: Implement audio dumping 2026-02-05 03:55:49 +02:00
xxhash3 feat: Init 2026-02-02 05:04:19 +02:00
xxtea feat: Init 2026-02-02 05:04:19 +02:00
.gitignore feat: Init 2026-02-02 05:04:19 +02:00
Cargo.lock feat: Implement audio dumping 2026-02-05 03:55:49 +02:00
Cargo.toml feat: Implement audio dumping 2026-02-05 03:55:49 +02:00
LICENSE feat: Init 2026-02-02 05:04:19 +02:00
README.md feat: Implement audio dumping 2026-02-05 03:55:49 +02:00

Fluffy Dumper

A Rust tool for extracting and parsing game assets.

Overview

This project provides a set of library crates and a CLI tool for working with encrypted game assets.

Note

The tool was only tested with Table and Lua block types. Other block types may not be fully supported.

Installation

Install with cargo from git mirror:

cargo install --git https://git.nekolab.app/fluffield/fluffy-dumper.git

Crates

fluffy-dumper

Command-line interface for extracting game assets.

vfs

VFS block loader with streaming file I/O. Handles encrypted block files and chunk extraction.

sparkbuffer

SparkBuffer binary table parser. Converts binary table format to JSON with support for enums, beans, and nested structures.

vgmstream

Embedded vgmstream-cli for WEM to WAV audio conversion. Includes pre-compiled binaries for Linux and Windows.

xxhash3

XXHash3 64-bit hash implementation. Used for VFS block directory name hashing.

xxtea

XXTEA decryption implementation. Used for decrypting scripts.

chacha20

ChaCha20 stream cipher implementation with configurable counter.

Building

cargo build --release

The compiled binary will be at target/release/fluffy-dumper.

Usage

Dump all supported assets:

fluffy-dumper dump -s /path/to/StreamingAssets -o ./output

Dump specific block type:

fluffy-dumper dump -s /path/to/StreamingAssets -b lua -o ./output
fluffy-dumper dump -s /path/to/StreamingAssets -b table -o ./output

Extract audio files:

# Extract all audio for all languages as WAV
fluffy-dumper audio -s /path/to/StreamingAssets -o ./output

# Extract English voice files as WAV
fluffy-dumper audio -s /path/to/StreamingAssets -l english -b voice -f wav

# Extract raw WEM files without conversion
fluffy-dumper audio -s /path/to/StreamingAssets -f wem

List available block types:

fluffy-dumper list

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

Acknowledgements

Special thanks to the following people:

  • Escartem for their insights on audio extraction;
  • rfi for creating and open-sourcing BeyondTools which inspired parts of this project.