mirror of
https://github.com/eXpl0it3r/bnkextr.git
synced 2026-11-14 04:21:08 +00:00
Wwise *.BNK File Extractor
- C++ 83.5%
- Pascal 13.6%
- CMake 2.9%
| .github/workflows | ||
| .gitignore | ||
| bnk.bt | ||
| bnkextr.cpp | ||
| bnkextr.dpr | ||
| CMakeLists.txt | ||
| LICENSE.md | ||
| pck.bt | ||
| README.md | ||
Wwise *.BNK File Extractor
This is a C++ rewrite and extension of bnkextr originally written by CTPAX-X in Delphi.
It extracts WEM files from the ever more popular Wwise BNK format and from Wwise PCK file packages (AKPK).
Use ww2ogg to convert WEM files to the OGG format.
Usage
Usage: bnkextr filename.bnk|filename.pck [/swap] [/nodir] [/obj]
/swap - swap byte order (use it for unpacking 'Army of Two')
/nodir - create no additional directory for the extracted files
/obj - generate an objects.txt (BNK) or files.txt (PCK) file with the extracted data
The format is detected by the file signature, not by the file extension.
BNK Format
- See the original Delphi code for the initial file specification
- See the XeNTaX wiki for a more complete file specification
- See the bnk.bt file for 010 Editor specification
- See the bnk.ksy file by ADawesomeguy for a Kaitai Struct specification
PCK Format
- See the pck.bt file for 010 Editor specification
- Streamed and external files are extracted as
<id>.wem - Embedded sound banks are extracted as
<id>.bnkand then unpacked into a directory of the same name - If a package holds more than one language, every language gets its own directory
- Encrypted packages are not supported
Supported HIRC Events
- Generic event type logging
- Event
- EventAction
Build
CMake
cmake -S . -B build/
cmake --build build/ --target install
GCC
g++ bnkextr.cpp -std=c++17 -static -O2 -s -o bnkextr.exe
License
bnkextr.dprfalls under the original copryright holders rights and is solely kept for archival purposebnkextr.cppis available under 2 licenses: Public Domain or MIT -- choose whichever you prefer