| chacha20 | ||
| fluffy-dumper | ||
| sparkbuffer | ||
| vfs | ||
| vgmstream | ||
| xxhash3 | ||
| xxtea | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
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
TableandLuablock 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.