About This File
Title: paktool – Cooking Academy PAK Unpacker/Repacker (Python)
CLI to unpack/repack Cooking Academy series archives. Auto-detects XOR 0xF7, validates header (MAGIC 0xBAC04AC0 / VERSION 0), preserves entry order and per-entry fields. Shows progress by default and writes export/pack logs. Works on Windows/Linux/macOS (Python 3.9+).
File format (reverse-engineered, little-endian):
• On-disk obfuscation: entire file XOR 0xF7
• Header (8 bytes): u32 magic = 0xBAC04AC0, u32 version = 0
• Directory: repeated entries until 0xFF (terminator)
s8 type (0..127; observed 0 = stored, no compression)
u8 nameLen
name[nameLen] (Latin-1 path)
u32 compSize (stored size)
u32 fieldA (metadata; keep as-is)
u32 fieldB (metadata; constant in observed build)
• Terminator: 0xFF (signed -1)
• Data region: immediately after directory; file blobs concatenated in the same order. For entry i, data offset = base_offset + sum(compSize of entries < i). Observed build uses type=0 (no per-file compression).
Usage:
Unpack: python paktool.py unpack main.pak out_dir --write-plain
Pack: python paktool.py pack out_dir out_dir/manifest.json main_custom.pak
Plain: add --no-xor to emit de-XOR’d output
Quiet: add --quiet to suppress progress
Logs: unpack → out_dir/export.log, pack → .log (override with --log)
Notes:
• Keep original names and order for best compatibility.
• fieldA/fieldB are preserved verbatim.
• If a replaced asset crashes in-game, verify format/dimensions of the replacement.
Edited by JeanxPereira
not supports markdown