Skip to content

Releases: 3096/effective-guacamole

Ver. 1.2.0

23 Apr 02:09
Compare
Choose a tag to compare
Ver. 1.2.0 Pre-release
Pre-release

This release targets update Ver. 1.2.0 (ONLY 1.2.0, do NOT use on other versions)

f3cd1c90583f3d8993ed63a2f5453ce977ef7e525e29c62f0e195f5988bdc5e0 save_cryptor.exe

spoon's spiritual successor

20 Mar 10:24
Compare
Choose a tag to compare
Pre-release

effective-guacamole

PoC save decryption and re-signing for Animal Crossing: New Horizon. Last updated for 1.1.0

(NOTE: this PoC only works on 1.1.0 for now. Do not use it on 1.0.0)

This PoC includes 2 programs:

  • save_cryptor
    • decrypts and re-encrypts+signs given save files with a single command
    • example usage (ensure "Header" files are in the same directory):
      • save_cryptor main.dat - decrypts main.dat
      • save_cryptor main.dat.dec - encrypts main.dat.dec
      • save_cryptor Villager0/*.dat - decrypts all .dat in Villager0 folder
  • generate_hash_sections
    • automatically generates the hash sections map for use with save_cryptor (prints to stdout)
    • example usage:
      • save_cryptor all_saves_in_this_dir/*.dat && generate_hash_sections all_saves_in_this_dir/*.dat.dec
    • sample output for 1.1.0:
        {
            "postbox", {
                {0x100, 0xb4448c},
            }
        },
        {
            "main", {
                {0x110, 0x1d6d5c},
                {0x1d6e70, 0x323c0c},
                {0x4fab90, 0x35afc},
                {0x530690, 0x362bc},
                {0x566a60, 0x35afc},
                {0x59c560, 0x362bc},
                {0x5d2930, 0x35afc},
                {0x608430, 0x362bc},
                {0x63e800, 0x35afc},
                {0x674300, 0x362bc},
                {0x6aa6d0, 0x35afc},
                {0x6e01d0, 0x362bc},
                {0x7165a0, 0x35afc},
                {0x74c0a0, 0x362bc},
                {0x782470, 0x35afc},
                {0x7b7f70, 0x362bc},
                {0x7ee340, 0x35afc},
                {0x823e40, 0x362bc},
                {0x85a100, 0x26899c},
            }
        },
        {
            "profile", {
                {0x100, 0x6945c},
            }
        },
        {
            "photo_studio_island", {
                {0x100, 0x262bc},
            }
        },
        {
            "personal", {
                {0x110, 0x35afc},
                {0x35c10, 0x362bc},
            }
        },

Build Instructions

Test executable for Windows is attached below. SHA256 sums:

  • be14aaf53a04b16635fa94c99fb96bd9cb79c6a91613b1face8bc34e892b04ce save_cryptor.exe
  • 023835e69e2e45eaeee7d8873b138e0603bf3d4c248e99eac836c1d59c363860 generate_hash_sections.exe

To build:

  • generate_hash_sections

    • g++ *.cpp -o generate_hash_sections
  • save_cryptor

    • g++ *.cpp smhasher/src/MurmurHash3.cpp -lmbedcrypto -o save_cryptor
    • make sure you have libmbedcrypto installed from mbedtls

Credits