{"id":47628170,"url":"https://github.com/VitaSmith/gust_tools","last_synced_at":"2026-05-19T14:01:03.743Z","repository":{"id":35844606,"uuid":"210909940","full_name":"VitaSmith/gust_tools","owner":"VitaSmith","description":"A set of utilities for dealing with Gust (Koei Tecmo) PC games files","archived":false,"fork":true,"pushed_at":"2025-11-13T17:44:15.000Z","size":363,"stargazers_count":261,"open_issues_count":17,"forks_count":26,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-11-13T19:26:20.790Z","etag":null,"topics":["games","gust","koei-tecmo","modding-tools","textures","unpacker"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"shizukachan/atelier_pak_decrypt","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VitaSmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-25T18:08:34.000Z","updated_at":"2025-11-13T17:44:19.000Z","dependencies_parsed_at":"2023-01-16T23:30:53.054Z","dependency_job_id":null,"html_url":"https://github.com/VitaSmith/gust_tools","commit_stats":null,"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"purl":"pkg:github/VitaSmith/gust_tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitaSmith%2Fgust_tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitaSmith%2Fgust_tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitaSmith%2Fgust_tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitaSmith%2Fgust_tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VitaSmith","download_url":"https://codeload.github.com/VitaSmith/gust_tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VitaSmith%2Fgust_tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33219363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:54:09.561Z","status":"ssl_error","status_checked_at":"2026-05-19T07:54:08.508Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["games","gust","koei-tecmo","modding-tools","textures","unpacker"],"created_at":"2026-04-01T23:00:21.844Z","updated_at":"2026-05-19T14:01:03.701Z","avatar_url":"https://github.com/VitaSmith.png","language":"C","funding_links":[],"categories":["Game \u0026 Studio Tools"],"sub_categories":["Gust (Koei Tecmo)"],"readme":"# Gust Tools\r\n\r\n[![Windows Build](https://img.shields.io/github/actions/workflow/status/VitaSmith/gust_tools/windows.yml?style=flat-square\u0026label=Windows%20Build)](https://github.com/VitaSmith/gust_tools/actions/workflows/windows.yml)\r\n[![Linux Build](https://img.shields.io/github/actions/workflow/status/VitaSmith/gust_tools/linux.yml?style=flat-square\u0026label=Linux%20Build)](https://github.com/VitaSmith/gust_tools/actions/workflows/linux.yml)\r\n[![Github stats](https://img.shields.io/github/downloads/VitaSmith/gust_tools/total.svg?style=flat-square\u0026label=Downloads)](https://github.com/VitaSmith/gust_tools/releases)\r\n[![Latest release](https://img.shields.io/github/release-pre/VitaSmith/gust_tools?style=flat-square\u0026label=Latest%20Release)](https://github.com/VitaSmith/gust_tools/releases)\r\n\r\nA set of commandline utilities designed to work with Gust (Koei/Tecmo) PC game assets such as the ones from\r\n[_Atelier series_](https://store.steampowered.com/search/?sort_by=Name_ASC\u0026term=atelier\u0026tags=122\u0026category1=998),\r\n[_Nights of Azure series_](https://store.steampowered.com/search/?term=%22nights%20of%20azure%22\u0026category1=998),\r\n[_Blue Reflection_](https://store.steampowered.com/search/?term=%22blue%20reflection%22\u0026category1=998),\r\n[_Fairy Tail_](https://store.steampowered.com/search/?term=%22fairy%20tail%22\u0026category1=998),\r\n[_Fatal Frame_](https://store.steampowered.com/search/?term=%22fatal%20frame%22\u0026category1=998) ...\r\n\r\nUtilities\r\n=========\r\n\r\n* `gust_pak`: Unpack or repack a Gust `.pak` archive.\r\n* `gust_elixir`: Unpack or repack a Gust `.elixir[.gz]` archive.\r\n* `gust_gmpk`: Unpack or repack a Gust `.gmpk` archive.\r\n* `gust_g1t`: Unpack or repack a Gust `.g1t` texture archive.\r\n* `gust_enc`: Encode or decode a Gust `.e` archive.\r\n* `gust_ebm`: Convert a `.ebm` message file to or from an editable JSON file.\r\n\r\nNotes\r\n-----\r\n\r\n`gust_pak` is designed to replace both `A17_Decrypt` and `A18_Decrypt`, as it automatically detects \"A17\" (32-bit) and \"A18\" (64-bit) formats.\r\nIt should therefore works with all of the Atelier PC ports, _Fairy Tail_, as well as _Blue Reflection_ archives.\r\n\r\n`gust_enc` only works on the games where for which the scrambling seeds are known. See `gust_enc.json` for details.\r\nYou can find a primer on the `.e` format, as well as what `gust_enc` does [here](https://gist.github.com/VitaSmith/ab384400bd992413ee0da401457abee1).\r\n\r\nIn most cases, the repacking of an archive relies on a corresponding `.json` to have been created during unpacking.\r\nYou will not be able to recreate an archive if a `.json` file does not exist for it, either in the directory (`.elixir`, `.g1t`)\r\nor at the root level (`.pak`).\r\n\r\nBuilding\r\n========\r\n\r\nIf you have Visual Studio 2022 installed, just open the `.sln` file or run `build.cmd`.\r\n\r\nOtherwise (Linux, MinGW) just issue `make`.\r\n\r\nUsage\r\n=====\r\n\r\nOn Windows, you can just drop the file or directory you want to unpack/repack or decode/encode on top of the executable.\r\n\r\nOtherwise, you can invoke: `\u003cgust_utility\u003e \u003cfile or directory\u003e`.\r\n\r\nWhen invoking `gust_enc`, you may specify the game ID to use for the encryption seeds (e.g. `-BR` for _Blue Reflection_,\r\n`-FT` for _Fairy Tail_ or _Atelier Yumia_). If not specified, then the default ID from `gust_enc.json` is used.\r\n\r\nFor recreating a `.pak`, you must pass the `.json` that was created during extraction to `gust_pak` rather than the directory.\r\n\r\nModding games\r\n=============\r\n\r\n**IMPORTANT: YOU SHOULD BACK UP ALL GAME ARCHIVES AND FOLDERS BEFORE RUNNING THE UNPACKER**\r\n\r\nMost Gust game executables are designed to use either packed assets, if a `.pak` archive is present, or the extracted assets, if\r\na matching directory bearing the same name as the `.pak` is found. For that to work, you must however make sure that the `.pak`\r\nis not seen, as it has precedence over the directory.\r\n\r\nFor instance, if you want to alter character assets (textures, models, ...) for the game _Blue Reflection_:\r\n* Go to `\u003cGAME_DIR\u003e\\DATA\\`and copy `gust_pak.exe` there.\r\n* Drop `PACK00_02.pak` on top of `gust_pak.exe`. This will extract all the content into a `data\\` subdirectory.\r\n* Move the content from `data\\x64\\` to `x64\\` (in this case, that should only be one folder named `character`). This is needed\r\n  because in this case `\u003cGAME_DIR\u003e\\DATA\\x64` is the location where _Blue Reflection_ expects extracted game assets, not\r\n  `\u003cGAME_DIR\u003e\\DATA\\data\\x64`.\r\n* Rename `PACK00_02.pak` to `PACK00_02.old` so that the game assets you just extracted are used.\r\n\r\nHappy modding! :smile:\r\n\r\nLicense\r\n=======\r\n\r\n[GPLv3](https://www.gnu.org/licenses/gpl-3.0.html) or later.\r\n\r\nThanks\r\n======\r\n\r\n* _Yuri Hime_/_Lily_/_shizukachan_ and everyone who helped with `A17_Decrypt`/`A18_Decrypt`.\r\n* _Admiral Curtiss_ for [HyoutaTools](https://github.com/AdmiralCurtiss/HyoutaTools/) and _Semory_ for\r\n  [Steven's Gas Machine](http://sticklove.com/xnalara.org/viewtopic.php?f=17\u0026t=1001) (a.k.a. \"xentax\"), where we picked some\r\n  inspiration on how to unpack the `.elixir` and `.g1t` formats.\r\n* _Rich Geldreich_ and others for the [miniz](https://github.com/richgel999/miniz) inflate/deflate library.\r\n* _Krzysztof Gabis_ for the [parson](http://kgabis.github.com/parson/) JSON parsing library.\r\n* _Gust_, for making games that are interesting enough to make one want to crack their custom compression and encryption schemes. :grin:\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVitaSmith%2Fgust_tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVitaSmith%2Fgust_tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVitaSmith%2Fgust_tools/lists"}