Skip to content

Windows CLI program for working with encrypted Taiko no Tatsujin Switch DataTable JSON files

License

Notifications You must be signed in to change notification settings

samyuu/TaikoSwitchDataTableDecryptor

Repository files navigation

TaikoSwitchDataTableDecryptor

A Windows CLI program for decrypting, decompressing, re-encrypting and re-compressing DataTable JSON files used by Taiko no Tatsujin for the Nintendo Switch (and possibly others) intended for Game Modding.

DataTable .bin files (located under LayeredFS/romfs/datatable) are zlib Deflate compressed and (in later game versions) AES-128-CBC encrypted JSON files used for defining various game parameters. The exact encryption key used appears to change with every game update/region but can be easily extracted using a disassembler from the target executable.

Encryption keys for each region+version are defined inside TaikoSwitchDataTableEncrpytionKeys.ini and will have to be updated in the future to support newer (or older) versions. Attempting to decrypt or re-encrypt a DataTable file from an undefined game version will fail.

Usage

To convert from .bin to .json run:

TaikoSwitchDataTableDecryptor.exe "{input_datatable_file}.bin"

resulting in an output file {input_file_directory}/{input_datatable_file} {key_name}.json where {input_datatable_file} is a file path to a DataTable file and {key_name} is the name of the automatically detected key used for decryption. If the input file is not encrypted (as is the case for older game versions) then a key name will not be appended.

To convert from .json to .bin run:

TaikoSwitchDataTableDecryptor.exe "{input_datatable_file} {key_name}.json

resulting in an output file {input_file_directory}/{input_datatable_file}.bin where {key_name} is the same name of the key used for re-encrpytion. If no matching key name is found for the input file name then the resulting JSON file will not be encrypted.

Usage Example

Unencrypted Taiko Switch (Early Versions) or possibly other Taiko games:
  • TaikoSwitchDataTableDecryptor.exe "musicinfo.bin" -> musicinfo.json
  • TaikoSwitchDataTableDecryptor.exe "musicinfo.json" -> musicinfo.bin
Encrypted Taiko Switch JP ver1.4.3:
  • TaikoSwitchDataTableDecryptor.exe "musicinfo.bin" -> musicinfo jp_ver143.json
  • TaikoSwitchDataTableDecryptor.exe "musicinfo jp_ver143.json" -> musicinfo.bin

This interface design is intentionally simplistic to support Windows Explorer drag-and-drop style conversion without the need to manually enter commands into a command prompt.

License

This program is licensed under the MIT License and embeds a copy of the source code for the zlib library by Jean-loup Gailly and Mark Adler.

About

Windows CLI program for working with encrypted Taiko no Tatsujin Switch DataTable JSON files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages