├── .gitignore ├── AOC-Patching ├── mclc │ ├── friimclc.smdh │ ├── cia_res │ │ ├── icon.png │ │ ├── icon.smdh │ │ ├── banner.bnr │ │ ├── banner.png │ │ ├── banner.xcf │ │ └── rsf.rsf │ ├── source │ │ └── main.cc │ └── Makefile ├── rustys-real-dealc │ ├── cia_res │ │ ├── icon.png │ │ ├── banner.bnr │ │ ├── banner.png │ │ ├── banner.xcf │ │ ├── icon.smdh │ │ └── rsf.rsf │ ├── rustys-real-dealc.smdh │ ├── source │ │ └── main.cc │ └── Makefile ├── README.md └── libpatchaoc │ ├── include │ ├── save.hh │ ├── customresult.hh │ └── patch.hh │ ├── Makefile │ └── source │ ├── save.cc │ └── patch.cc ├── General-Hacking ├── Niconico Patch │ ├── code.ips │ ├── README.md │ └── patch.txt ├── Recochoku Patch │ ├── code.ips │ ├── README.md │ └── patch.txt ├── HOME Menu Patches │ ├── EUR │ │ ├── code.ips │ │ └── patch.txt │ ├── JPN │ │ ├── code.ips │ │ └── patch.txt │ ├── KOR │ │ ├── code.ips │ │ ├── petit_LZ.bin │ │ └── patch.txt │ ├── USA │ │ ├── code.ips │ │ └── patch.txt │ └── README.md ├── Dillon's Dead-Heat Breakers Bug Fix │ ├── code.ips │ ├── default.mii │ ├── patch.txt │ └── README.md ├── Chibi-Robo! Photo Finder Outfit Unlock │ ├── EU_title.nb.ips │ ├── US_title.nb.ips │ └── README.md ├── README.md └── Snack World Trejarers Save Tool │ └── README.md ├── AOC-GamePatching └── Kiradeco Revolution │ ├── code.ips │ ├── patch.txt │ └── README.md ├── Password-Cracking ├── All Kamen Rider: Rider Revolution │ ├── qrs │ │ ├── qr_1.png │ │ ├── qr_10.png │ │ ├── qr_11.png │ │ ├── qr_12.png │ │ ├── qr_13.png │ │ ├── qr_14.png │ │ ├── qr_15.png │ │ ├── qr_16.png │ │ ├── qr_17.png │ │ ├── qr_18.png │ │ ├── qr_19.png │ │ ├── qr_2.png │ │ ├── qr_20.png │ │ ├── qr_21.png │ │ ├── qr_22.png │ │ ├── qr_23.png │ │ ├── qr_24.png │ │ ├── qr_25.png │ │ ├── qr_26.png │ │ ├── qr_27.png │ │ ├── qr_28.png │ │ ├── qr_29.png │ │ ├── qr_3.png │ │ ├── qr_30.png │ │ ├── qr_31.png │ │ ├── qr_32.png │ │ ├── qr_33.png │ │ ├── qr_34.png │ │ ├── qr_35.png │ │ ├── qr_36.png │ │ ├── qr_37.png │ │ ├── qr_38.png │ │ ├── qr_39.png │ │ ├── qr_4.png │ │ ├── qr_40.png │ │ ├── qr_41.png │ │ ├── qr_42.png │ │ ├── qr_43.png │ │ ├── qr_44.png │ │ ├── qr_45.png │ │ ├── qr_46.png │ │ ├── qr_47.png │ │ ├── qr_48.png │ │ ├── qr_49.png │ │ ├── qr_5.png │ │ ├── qr_50.png │ │ ├── qr_51.png │ │ ├── qr_52.png │ │ ├── qr_53.png │ │ ├── qr_54.png │ │ ├── qr_55.png │ │ ├── qr_56.png │ │ ├── qr_57.png │ │ ├── qr_58.png │ │ ├── qr_59.png │ │ ├── qr_6.png │ │ ├── qr_60.png │ │ ├── qr_61.png │ │ ├── qr_62.png │ │ ├── qr_7.png │ │ ├── qr_8.png │ │ └── qr_9.png │ └── README.md ├── Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō │ ├── qrs │ │ ├── qr_1.png │ │ ├── qr_2.png │ │ ├── qr_3.png │ │ ├── qr_4.png │ │ └── qr_5.png │ └── README.md ├── Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken │ ├── qrs │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 42.png │ │ ├── 43.png │ │ ├── 44.png │ │ ├── 45.png │ │ ├── 46.png │ │ ├── 47.png │ │ ├── 48.png │ │ ├── 49.png │ │ ├── 5.png │ │ ├── 50.png │ │ ├── 51.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ └── README.md ├── Taiko No Tatsujin - Dokodon Mystery Adventure │ ├── qrs │ │ ├── QRCODE_001.png │ │ ├── QRCODE_002.png │ │ ├── QRCODE_003.png │ │ ├── QRCODE_004.png │ │ ├── QRCODE_005.png │ │ ├── QRCODE_006.png │ │ ├── QRCODE_007.png │ │ ├── QRCODE_008.png │ │ ├── QRCODE_009.png │ │ ├── QRCODE_010.png │ │ ├── QRCODE_011.png │ │ ├── QRCODE_012.png │ │ ├── QRCODE_013.png │ │ ├── QRCODE_014.png │ │ ├── QRCODE_015.png │ │ ├── QRCODE_016.png │ │ ├── QRCODE_017.png │ │ ├── QRCODE_018.png │ │ ├── QRCODE_019.png │ │ ├── QRCODE_020.png │ │ ├── QRCODE_021.png │ │ ├── QRCODE_022.png │ │ ├── QRCODE_023.png │ │ ├── QRCODE_024.png │ │ ├── QRCODE_025.png │ │ ├── QRCODE_026.png │ │ ├── QRCODE_027.png │ │ ├── QRCODE_028.png │ │ ├── QRCODE_029.png │ │ ├── QRCODE_030.png │ │ ├── QRCODE_031.png │ │ ├── QRCODE_032.png │ │ ├── QRCODE_033.png │ │ ├── QRCODE_034.png │ │ ├── QRCODE_035.png │ │ ├── QRCODE_036.png │ │ ├── QRCODE_037.png │ │ ├── QRCODE_038.png │ │ ├── QRCODE_039.png │ │ ├── QRCODE_040.png │ │ ├── QRCODE_041.png │ │ ├── QRCODE_042.png │ │ ├── QRCODE_043.png │ │ ├── QRCODE_044.png │ │ ├── QRCODE_045.png │ │ ├── QRCODE_046.png │ │ ├── QRCODE_047.png │ │ ├── QRCODE_048.png │ │ ├── QRCODE_049.png │ │ ├── QRCODE_050.png │ │ ├── QRCODE_051.png │ │ ├── QRCODE_052.png │ │ ├── QRCODE_053.png │ │ ├── QRCODE_054.png │ │ ├── QRCODE_055.png │ │ ├── QRCODE_056.png │ │ ├── QRCODE_057.png │ │ └── QRCODE_058.png │ └── README.md ├── Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?! │ ├── qr-codes │ │ ├── BNE_PSY_AEO_09667984.png │ │ ├── BNE_PSY_AMA_81630654.png │ │ ├── BNE_PSY_GEO_51961190.png │ │ ├── BNE_PSY_KUS_05623271.png │ │ ├── BNE_PSY_TAT_01364692.png │ │ └── BNE_PSY_YAM_26734741.png │ └── README.md ├── Nicola Kanshuu - Model Oshare Audition 2 │ ├── README.md │ └── extract_passwords.py ├── Nicola Kanshuu - Model Oshare Audition Dream Girl │ ├── README.md │ └── extract.py └── Nicola Kanshuu - Model Oshare Audition Platina │ ├── README.md │ └── convert.py └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | *.a 3 | *.lst 4 | *.cia 5 | *.3dsx 6 | *.elf 7 | *.o 8 | .vscode* 9 | -------------------------------------------------------------------------------- /AOC-Patching/mclc/friimclc.smdh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/mclc/friimclc.smdh -------------------------------------------------------------------------------- /AOC-Patching/mclc/cia_res/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/mclc/cia_res/icon.png -------------------------------------------------------------------------------- /AOC-Patching/mclc/cia_res/icon.smdh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/mclc/cia_res/icon.smdh -------------------------------------------------------------------------------- /AOC-Patching/mclc/cia_res/banner.bnr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/mclc/cia_res/banner.bnr -------------------------------------------------------------------------------- /AOC-Patching/mclc/cia_res/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/mclc/cia_res/banner.png -------------------------------------------------------------------------------- /AOC-Patching/mclc/cia_res/banner.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/mclc/cia_res/banner.xcf -------------------------------------------------------------------------------- /General-Hacking/Niconico Patch/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/Niconico Patch/code.ips -------------------------------------------------------------------------------- /General-Hacking/Recochoku Patch/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/Recochoku Patch/code.ips -------------------------------------------------------------------------------- /AOC-GamePatching/Kiradeco Revolution/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-GamePatching/Kiradeco Revolution/code.ips -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/cia_res/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/rustys-real-dealc/cia_res/icon.png -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/EUR/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/HOME Menu Patches/EUR/code.ips -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/JPN/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/HOME Menu Patches/JPN/code.ips -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/KOR/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/HOME Menu Patches/KOR/code.ips -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/USA/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/HOME Menu Patches/USA/code.ips -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/cia_res/banner.bnr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/rustys-real-dealc/cia_res/banner.bnr -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/cia_res/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/rustys-real-dealc/cia_res/banner.png -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/cia_res/banner.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/rustys-real-dealc/cia_res/banner.xcf -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/cia_res/icon.smdh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/rustys-real-dealc/cia_res/icon.smdh -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/KOR/petit_LZ.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/HOME Menu Patches/KOR/petit_LZ.bin -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/rustys-real-dealc.smdh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/AOC-Patching/rustys-real-dealc/rustys-real-dealc.smdh -------------------------------------------------------------------------------- /General-Hacking/Dillon's Dead-Heat Breakers Bug Fix/code.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/Dillon's Dead-Heat Breakers Bug Fix/code.ips -------------------------------------------------------------------------------- /General-Hacking/Dillon's Dead-Heat Breakers Bug Fix/default.mii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/Dillon's Dead-Heat Breakers Bug Fix/default.mii -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_1.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_10.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_11.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_12.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_13.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_14.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_15.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_16.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_17.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_18.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_19.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_2.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_20.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_21.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_22.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_23.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_24.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_25.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_26.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_27.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_28.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_29.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_3.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_30.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_31.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_32.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_33.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_34.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_35.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_36.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_37.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_38.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_39.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_4.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_40.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_41.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_42.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_43.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_44.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_45.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_46.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_47.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_48.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_49.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_5.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_50.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_51.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_52.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_53.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_54.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_55.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_56.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_57.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_58.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_59.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_6.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_60.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_61.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_62.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_7.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_8.png -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/All Kamen Rider: Rider Revolution/qrs/qr_9.png -------------------------------------------------------------------------------- /General-Hacking/Chibi-Robo! Photo Finder Outfit Unlock/EU_title.nb.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/Chibi-Robo! Photo Finder Outfit Unlock/EU_title.nb.ips -------------------------------------------------------------------------------- /General-Hacking/Chibi-Robo! Photo Finder Outfit Unlock/US_title.nb.ips: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/General-Hacking/Chibi-Robo! Photo Finder Outfit Unlock/US_title.nb.ips -------------------------------------------------------------------------------- /Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_1.png -------------------------------------------------------------------------------- /Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_2.png -------------------------------------------------------------------------------- /Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_3.png -------------------------------------------------------------------------------- /Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_4.png -------------------------------------------------------------------------------- /Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/qrs/qr_5.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/1.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/10.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/11.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/12.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/13.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/14.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/15.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/16.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/17.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/18.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/19.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/2.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/20.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/21.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/22.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/23.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/24.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/25.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/26.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/27.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/28.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/29.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/3.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/30.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/31.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/32.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/33.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/34.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/35.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/36.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/37.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/38.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/39.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/4.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/40.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/41.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/42.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/43.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/44.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/45.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/46.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/47.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/48.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/49.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/5.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/50.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/51.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/6.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/7.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/8.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/qrs/9.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_001.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_002.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_003.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_004.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_005.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_006.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_007.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_008.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_009.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_010.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_011.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_012.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_013.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_014.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_015.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_016.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_017.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_018.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_019.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_020.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_021.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_022.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_023.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_024.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_025.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_026.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_027.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_028.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_029.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_030.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_031.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_032.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_033.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_034.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_035.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_036.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_037.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_038.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_039.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_040.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_041.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_042.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_043.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_044.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_045.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_046.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_047.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_048.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_049.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_050.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_051.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_052.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_053.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_054.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_055.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_056.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_057.png -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/qrs/QRCODE_058.png -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_AEO_09667984.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_AEO_09667984.png -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_AMA_81630654.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_AMA_81630654.png -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_GEO_51961190.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_GEO_51961190.png -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_KUS_05623271.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_KUS_05623271.png -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_TAT_01364692.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_TAT_01364692.png -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_YAM_26734741.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZeroSkill1/CTR-Hacking/HEAD/Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/qr-codes/BNE_PSY_YAM_26734741.png -------------------------------------------------------------------------------- /AOC-GamePatching/Kiradeco Revolution/patch.txt: -------------------------------------------------------------------------------- 1 | .3ds 2 | .open "code.bin", "patched_code.bin", 0x00100000 3 | 4 | .org 0x212640 5 | nop 6 | 7 | .org 0x212644 8 | nop 9 | 10 | .org 0x212648 11 | nop 12 | 13 | .org 0x21264C 14 | nop 15 | 16 | .org 0x212650 17 | B 0x2127E4 18 | 19 | .close -------------------------------------------------------------------------------- /AOC-Patching/README.md: -------------------------------------------------------------------------------- 1 | # AOC-Patching 2 | 3 | Code to build applications that will patch the save data for games using additional DLC protection mechanisms to enable DLC. 4 | 5 | Currently supported games: 6 | 7 | - Rusty's Real Deal Baseball (All regions) 8 | - Minecraft: New Nintendo 3DS Edition (All Regions) -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/EUR/patch.txt: -------------------------------------------------------------------------------- 1 | .3ds 2 | .open "code.bin", "patched_code.bin", 0x00100000 3 | 4 | .org 0x0026FA34 ; patch out nnid check on badge data reading 5 | mov r0, #0 ; always return good 6 | pop {r4-r6, pc} 7 | 8 | .org 0x0026FA80 ; patch out nnid check on badge data creation 9 | b 0x0026FAA0 ; skip the check 10 | 11 | .close 12 | -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/USA/patch.txt: -------------------------------------------------------------------------------- 1 | .3ds 2 | .open "code.bin", "patched_code.bin", 0x00100000 3 | 4 | .org 0x0026FA18 ; patch out nnid check on badge data reading 5 | mov r0, #0 ; always return good 6 | pop {r4-r6, pc} 7 | 8 | .org 0x0026FA64 ; patch out nnid check on badge data creation 9 | b 0x0026FA84 ; skip the check 10 | 11 | .close 12 | -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/JPN/patch.txt: -------------------------------------------------------------------------------- 1 | .3ds 2 | .open "code.bin", "patched_code.bin", 0x00100000 3 | 4 | .org 0x0026F57C ; patch out nnid check on badge data reading 5 | mov r0, #0 ; always return good 6 | pop {r4-r6, pc} 7 | 8 | .org 0x0026F5C8 ; patch out nnid check on badge data creation 9 | b 0x0026F5E4 ; skip the check 10 | 11 | 12 | .close 13 | -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/KOR/patch.txt: -------------------------------------------------------------------------------- 1 | .3ds 2 | .open "code.bin", "patched_code.bin", 0x00100000 3 | 4 | .org 0x00220944 ; theme patch 5 | mov r0, #0x200 6 | add r0, r0, #0xCF 7 | mov r1, #0 8 | bx lr 9 | 10 | .org 0x0026F528 ; patch out nnid check on badge data reading 11 | mov r0, #0 ; always return good 12 | pop {r4-r6, pc} 13 | 14 | .org 0x0026F574 ; patch out nnid check on badge data creation 15 | b 0x0026F594 ; skip the check 16 | 17 | .close 18 | -------------------------------------------------------------------------------- /General-Hacking/Recochoku Patch/README.md: -------------------------------------------------------------------------------- 1 | # Recochoku Patch 2 | 3 | Reochoku requires NEX game server authentication in order to work. This patch forcefully makes the title think authentication succeeded so the app can be used normally. 4 | 5 | The patch requires Recochoku (0004000000099700) with version v20656 to function. 6 | 7 | To use the patch, enable Luma3DS game patching and place the `code.ips` file at `sd:/luma/titles/0004000000099700/code.ips`. 8 | 9 | Once installed, the patch should work out of the box. 10 | -------------------------------------------------------------------------------- /Password-Cracking/Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō/README.md: -------------------------------------------------------------------------------- 1 | # Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō 2 | 3 | This includes all working QR codes to be used in the QR code menu of 'Ansatsu Kyōshitsu: Koro-sensei Dai Hōimō' (JP) (0004000000152900). 4 | 5 | ## QR Code 1 6 | 7 | ![Image](./qrs/qr_1.png) 8 | 9 | ## QR Code 2 10 | 11 | ![Image](./qrs/qr_2.png) 12 | 13 | ## QR Code 3 14 | 15 | ![Image](./qrs/qr_3.png) 16 | 17 | ## QR Code 4 18 | 19 | ![Image](./qrs/qr_4.png) 20 | 21 | ## QR Code 5 22 | 23 | ![Image](./qrs/qr_5.png) 24 | 25 | -------------------------------------------------------------------------------- /AOC-GamePatching/Kiradeco Revolution/README.md: -------------------------------------------------------------------------------- 1 | # Kiradeco Revolution 2 | 3 | A patch for the DLC menu in Kiradeco Revolution (0004000000068300) (JP) to skip loading the eShop applet. This allows you to go straight into the DLC management menu without having an internet connection / a console with the correct region, to enable DLC management after the DLC is no longer on sale. 4 | 5 | How to use: 6 | 7 | - Enable Luma3DS game patching. 8 | - Copy [code.ips](./code.ips) to `sd:/luma/titles/0004000000068300/code.ips`. 9 | - Have the DLC installed (0004008C00068300). 10 | - Launch the game and enter the DLC section. 11 | - You should now be able to install/uninstall decorations without having to go through the eShop applet. 12 | -------------------------------------------------------------------------------- /General-Hacking/README.md: -------------------------------------------------------------------------------- 1 | # General-Hacking 2 | 3 | Patches that change the way applications work. 4 | 5 | Current list of patches: 6 | - HOME Menu Patches 7 | - Patch for KOR region HOME menu that enables the usage of themes and saving HOME menu layouts 8 | - Patch to bypass Nintendo Network ID (NNID) checks for badge usage 9 | - Niconico Patch to allow usage after discontinuation 10 | - Recochoku Patch to allow usage after discoontinuation 11 | - Save Data Tool for Snack World Trejarers allowing decryption/reencryption of save data 12 | - Bug Fix Patch for Dillon's Dead-Heat Breakers to allow playthrough with pending friend requests 13 | - Chibi-Robo! Photo Finder patch to unlock otherwise inaccessible in-game character outfits 14 | -------------------------------------------------------------------------------- /General-Hacking/Recochoku Patch/patch.txt: -------------------------------------------------------------------------------- 1 | .3ds 2 | .open "code.bin", "patched_code.bin", 0x00100000 3 | 4 | .org 0x001A17E4 ; GetLastResponseResult 5 | mov r0, #0 6 | pop {r4,pc} 7 | 8 | .org 0x001A1814 ; GetServiceLocatorData 9 | mov r0, #0 10 | pop {r4-r8,pc} 11 | 12 | .org 0x001A18E8 ; GetGameAuthenticationData 13 | mov r0, #0 14 | pop {r4-r8,pc} 15 | 16 | .org 0x0017DD48 ; login nasc/http check 17 | b 0x17DD74 18 | 19 | .org 0x0017DF74 ; svcloc nasc/http check 20 | b 0x17DFA8 21 | 22 | .org 0x0053CDFC 23 | nop 24 | 25 | .org 0x0053CE0C 26 | nop 27 | 28 | .org 0x0023331C 29 | mov r0, #3 30 | bx lr 31 | 32 | .org 0x003149A8 33 | mov r0, #3 34 | bx lr 35 | 36 | .org 0x001723B8 37 | mov r0, #0 38 | pop {r4-r6,pc} 39 | 40 | .org 0x00393280 41 | nop 42 | 43 | .close 44 | -------------------------------------------------------------------------------- /Password-Cracking/Nicola Kanshuu - Model Oshare Audition 2/README.md: -------------------------------------------------------------------------------- 1 | # Nicola Kanshuu - Model Oshare Audition 2 2 | 3 | All in-game item passwords for Nicola Kanshuu - Model Oshare Audition 2 (0004000000065700) (JP). 4 | 5 | るよちてわわ 6 | 7 | やほをちせぬ 8 | 9 | わのけぬうぬ 10 | 11 | にらるえたゆ 12 | 13 | すめおらふは 14 | 15 | つこにのひひ 16 | 17 | そそそまれは 18 | 19 | のなくほこそ 20 | 21 | すらリのすも 22 | 23 | たほリあみう 24 | 25 | まへませせを 26 | 27 | リねリしくれ 28 | 29 | みるおをぬた 30 | 31 | ますろくすむ 32 | 33 | るえよけこか 34 | 35 | をむるひちお 36 | 37 | はふてさわと 38 | 39 | ふうをれなを 40 | 41 | くえちれすう 42 | 43 | よてリへちさ 44 | 45 | てさといあわ 46 | 47 | かふせれはま 48 | 49 | とへるリみお 50 | 51 | みちなもせく 52 | 53 | あつかおへに 54 | 55 | やおリにかち 56 | 57 | みにるとなひ 58 | 59 | ふおやふそあ 60 | 61 | のくみまはつ 62 | 63 | おリくかちも 64 | 65 | そきつえひう 66 | 67 | あまれとみや 68 | 69 | すにあきるえ 70 | 71 | えさリまちい 72 | 73 | まかたおなひ 74 | 75 | いとめきはに 76 | 77 | うきまくすと 78 | 79 | えてむめまへ 80 | 81 | すにかさふふ 82 | 83 | そふなあかや 84 | 85 | こみおふリき 86 | 87 | めをうひえく 88 | 89 | まよへひすう 90 | -------------------------------------------------------------------------------- /General-Hacking/Dillon's Dead-Heat Breakers Bug Fix/patch.txt: -------------------------------------------------------------------------------- 1 | ; vim: filetype=arm 2 | .3ds 3 | .open "code.bin", "patched_code.bin", 0x00100000 4 | 5 | .org 0x0036429C ; patch this to load the default mii instead 6 | bl 0x00393CB4 ; install our smart mii loader 7 | bl 0x0013A54C ; call the function that previously crashed, now with a fallback mii protecting against this crash 8 | 9 | .org 0x00393BF4 ; a default "fallback" mii 10 | default_mii: 11 | .incbin "default.mii" 12 | zero_mii: ; all zeros mii 13 | .fill 0x60 14 | .org 0x00393CB4 ; custom smart mii loader 15 | push {r0-r9,lr} 16 | mov r5, r2 17 | ldr r0, =zero_mii 18 | mov r1, r0 19 | mov r2, #0x5C 20 | blx 0x00100604 ; mii is not all zeros = memcmp(mii, zero_mii, sizeof(mii)); 21 | cmp r0, #0 ; if (mii is not all zeros) 22 | bne default_call ; return normally 23 | mov r0, r5 ; 24 | ldr r1, =default_mii ; 25 | mov r2, #0x60 ; else 26 | bl 0x00283EC0 ; memcpy(mii, default_mii, sizeof(mii)); // basically, overwrite the mii which is all zeros with the fallback mii 27 | default_call: 28 | pop {r0-r9,pc} 29 | .pool 30 | 31 | .close 32 | -------------------------------------------------------------------------------- /General-Hacking/Snack World Trejarers Save Tool/README.md: -------------------------------------------------------------------------------- 1 | # Snack World Trejareres Save Tool 2 | 3 | Snack World Trejarers is a Japanese 3DS title which uses a distinct save data encryption/obfuscation technique to prevent save editing. 4 | 5 | The following security mechanisms are used to prevent save data editing: 6 | - An in-house xorshift-like algorithm which is used to obfuscate save files 7 | - AES-128-CCM encryption for certain files in the save data 8 | - CRC32 validation of all save files 9 | - Usage of Secure Values to prevent tampering with the save data 10 | 11 | The tool included here is able to fully decrypt and deobfuscate all save data files, as well as reobfuscating and reencrypting them. 12 | 13 | To compile: 14 | 15 | `g++ -o sw-save-tool sw-save-tool.cc -lssl -lcrypto -lz` 16 | 17 | To use: 18 | - Extract the extdata for the game. 19 | - Run `sw-save-tool encrypt/decrypt inplace/separate head.sw [one or more gameN.sw files...]` 20 | - `encrypt` / `decrypt`: self-explanatory. 21 | - `inplace`: modifies the input files in place, `separate`: saves the result of the encryption/decryption in the same folder as the input files, prefixed with `dec_` or `enc_` respectively. 22 | -------------------------------------------------------------------------------- /AOC-Patching/libpatchaoc/include/save.hh: -------------------------------------------------------------------------------- 1 | #ifndef __save_hh__ 2 | #define __save_hh__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include <3ds.h> 8 | 9 | namespace DLC 10 | { 11 | class SaveData 12 | { 13 | private: 14 | bool IsSave; 15 | bool IsClosed; 16 | bool IsMinecraft; 17 | 18 | FS_Archive Archive; 19 | 20 | std::unordered_set OpenFiles; 21 | 22 | Result OpenExtDataArchive(u32 unique_id); 23 | Result OpenSaveDataArchive(u32 unique_id); 24 | 25 | public: 26 | SaveData(u32 unique_id, bool is_save = false, bool is_mc = false); 27 | ~SaveData(); 28 | 29 | Result CurrentResult; 30 | 31 | Result OpenFile(Handle *out_handle, const char *path, u32 open_flags = FS_OPEN_READ | FS_OPEN_WRITE, u32 attributes = 0); 32 | Result ReadFileIntoBuffer(u8 *&out_buf, Handle file, u64 *out_size = nullptr, bool close_file = false); 33 | Result ReadFileIntoBuffer(u8 *&out_buf, const char *path, u64 *out_size = nullptr); 34 | Result WriteFileFromBuffer(u8 *buf, Handle file, u32 size, bool close_file); 35 | Result WriteFileFromBuffer(u8 *buf, const char *path, u32 size); 36 | Result CloseFile(Handle file); 37 | Result Close(bool discard_changes = false); 38 | }; 39 | } 40 | 41 | #endif -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /General-Hacking/Niconico Patch/README.md: -------------------------------------------------------------------------------- 1 | # Niconico Patch 2 | 3 | Nicnico requires NEX game server authentication in order to function. 4 | 5 | Furthermore, if an NNID is linked, the app will force NEX authentication through the NNID. 6 | 7 | The app's last update also disables StreetPass (surema) functionality by forcefully disabling the menu option and removing the StreetPass toggle in the app's settings. 8 | 9 | This patch does the following: 10 | 11 | - Bypassing NEX game server authentication by tricking the app into thinking it succeeded; 12 | - Allowing usage of the legacy login by making the app think no NNID is linked even if one is; 13 | - Reenabling the StreetPass (surema) menu option and replacing the useless "About App" entry in the settings screen with the previously removed StreetPass toggle. 14 | 15 | Niconico (0004000000109800) with version v20896 is required. 16 | 17 | To install the patch, place `code.ips` into `sd:/luma/titles/0004000000109800/code.ips`. 18 | 19 | Once installed, the patch should work out of the box. 20 | 21 | NOTE: The re-added StreetPass toggle may not accurately display whether or not StreetPass is enabled for Niconico. To make sure it's enabled, tap on the toggle until you see a loading circle that soon finishes. Then, open System Settings -> Data Management -> StreetPass Management and see if Niconico is present in the grid. If it isn't, try this process again. 22 | -------------------------------------------------------------------------------- /Password-Cracking/Nicola Kanshuu - Model Oshare Audition Dream Girl/README.md: -------------------------------------------------------------------------------- 1 | # Nicola Kanshuu - Model Oshare Audition Dream Girl 2 | 3 | All in-game item passwords for Nicola Kanshuu - Model Oshare Audition Dream Girl (00040000000FB400) (JP). 4 | 5 | こわうめおか 6 | 7 | うそもころや 8 | 9 | ねそきすもれ 10 | 11 | めむとむすり 12 | 13 | はささはりな 14 | 15 | えいひすいつ 16 | 17 | なにけおけに 18 | 19 | きぬいめにう 20 | 21 | りつろさかま 22 | 23 | やみめるこや 24 | 25 | さすちとなね 26 | 27 | ほやにわもむ 28 | 29 | くてわらめに 30 | 31 | いうんろてに 32 | 33 | ふきふんひの 34 | 35 | めかさきりは 36 | 37 | ななめゆろの 38 | 39 | さへのろよき 40 | 41 | こかはるいろ 42 | 43 | おのはのへん 44 | 45 | れおよえたわ 46 | 47 | つねふんねん 48 | 49 | さめおかすも 50 | 51 | にせたまぬん 52 | 53 | さそろゆおな 54 | 55 | はすさなこお 56 | 57 | ろもれのねの 58 | 59 | しみへあたあ 60 | 61 | はえすみひた 62 | 63 | のなんにえゆ 64 | 65 | ゆきらほしう 66 | 67 | よにぬなあれ 68 | 69 | へなはすたよ 70 | 71 | わせんなるめ 72 | 73 | つんせそろは 74 | 75 | なつんはりそ 76 | 77 | なしへいうの 78 | 79 | わしるぬめし 80 | 81 | ぬかのほほさ 82 | 83 | もちぬおくろ 84 | 85 | まとおいとと 86 | 87 | たりひつんう 88 | 89 | わのまむてな 90 | 91 | むほしひうけ 92 | 93 | そいによんけ 94 | 95 | おれりそいか 96 | 97 | にののひそふ 98 | 99 | のひはとせに 100 | 101 | ゆひのくねそ 102 | 103 | わたりるまさ 104 | 105 | へすなおうて 106 | 107 | もにみひかの 108 | 109 | もへのそるか 110 | 111 | へしはしあわ 112 | 113 | はつひはふり 114 | 115 | けめれせしか 116 | 117 | かわれたくえ 118 | 119 | なむゆねねし 120 | 121 | まれみはめの 122 | 123 | はわのあにあ 124 | 125 | おのつさおぬ 126 | 127 | ろるへんせや 128 | 129 | はんいなきね 130 | 131 | といいけわん 132 | 133 | はとるかあり 134 | 135 | そこのろむひ 136 | 137 | いろいわりは 138 | 139 | らおきぬえせ 140 | 141 | のひちひえい 142 | 143 | かあねしこと 144 | 145 | こええてれく 146 | -------------------------------------------------------------------------------- /Password-Cracking/Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?!/README.md: -------------------------------------------------------------------------------- 1 | # Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?! 2 | 3 | All QR codes for the QR code menu accessible with the X button in the main menu of Saiki Kusuo no Psi Nan: Shijou Psi Dai no Psi nan?! (00040000001A0D00) (JP). 4 | 5 | # QR code #1 6 | 7 | QR code data: `BNE_PSY_KUS_05623271` 8 | 9 | Content name: 楠子制服冬 10 | 11 | For use in: `ふくそう` of `Ψ新ファッション` 12 | 13 | QR code: 14 | 15 | ![Image](./qr-codes/BNE_PSY_KUS_05623271.png) 16 | 17 | # QR code #2 18 | 19 | QR code data: `BNE_PSY_GEO_51961190` 20 | 21 | Content name: ネコ(黄) 22 | 23 | For use in: `せいぎょそうち` of `Ψ新ファッション` 24 | 25 | QR code: 26 | 27 | ![Image](./qr-codes/BNE_PSY_GEO_51961190.png) 28 | 29 | # QR code #3 30 | 31 | QR code data: `BNE_PSY_AMA_81630654` 32 | 33 | Content name: ウサギ(先黒) 34 | 35 | For use in: `せいぎょそうち` of `Ψ新ファッション` 36 | 37 | QR code: 38 | 39 | ![Image](./qr-codes/BNE_PSY_AMA_81630654.png) 40 | 41 | # QR code #4 42 | 43 | QR code data: `BNE_PSY_YAM_26734741` 44 | 45 | Content name: イヌ(赤) 46 | 47 | For use in: `せいぎょそうち` of `Ψ新ファッション` 48 | 49 | QR code: 50 | 51 | ![Image](./qr-codes/BNE_PSY_YAM_26734741.png) 52 | 53 | # QR code #5 54 | 55 | QR code data: `BNE_PSY_AEO_09667984` 56 | 57 | Content name: クマ(紫) 58 | 59 | For use in: `せいぎょそうち` of `Ψ新ファッション` 60 | 61 | QR code: 62 | 63 | ![Image](./qr-codes/BNE_PSY_AEO_09667984.png) 64 | 65 | # QR code #6 66 | 67 | QR code data: `BNE_PSY_TAT_01364692` 68 | 69 | Content name: 楠雄はっぴ 70 | 71 | For use in: `ふくそう` of `Ψ新ファッション` 72 | 73 | QR code: 74 | 75 | ![Image](./qr-codes/BNE_PSY_TAT_01364692.png) 76 | 77 | -------------------------------------------------------------------------------- /Password-Cracking/Nicola Kanshuu - Model Oshare Audition 2/extract_passwords.py: -------------------------------------------------------------------------------- 1 | # requirements: python 3 2 | 3 | # how to get the data: 4 | # get the decompressed code.bin for the game (i tested this with the cart edition) 5 | # extract 430 bytes starting from offset 0x154F90 until 0x15513D 6 | # save the data to a file called jp_pwdata.bin 7 | # run this script in the same folder where you saved the file 8 | # it should print the passwords to the terminal 9 | 10 | with open("jp_pwdata.bin", "rb") as f: 11 | rawdata = f.read() 12 | 13 | DECODE_TABLE = { 14 | 0x2B: 'わ', 15 | 0x26: 'ら', 16 | 0x23: 'や', 17 | 0x1E: 'ま', 18 | 0x19: 'は', 19 | 0x14: 'な', 20 | 0x0F: 'た', 21 | 0x0A: 'さ', 22 | 0x05: 'か', 23 | 0x00: 'あ', 24 | 0x2C: 'を', 25 | 0x27: 'リ', 26 | 0x24: 'ゆ', 27 | 0x1F: 'み', 28 | 0x1A: 'ひ', 29 | 0x15: 'に', 30 | 0x10: 'ち', 31 | 0x0B: 'し', 32 | 0x06: 'き', 33 | 0x01: 'い', 34 | 0x39: 'ー', 35 | 0x2D: 'ん', 36 | 0x28: 'る', 37 | 0x25: 'よ', 38 | 0x20: 'む', 39 | 0x1B: 'ふ', 40 | 0x16: 'ぬ', 41 | 0x11: 'つ', 42 | 0x0C: 'す', 43 | 0x07: 'く', 44 | 0x02: 'う', 45 | 0xAF: ' ', 46 | 0x2E: '。', 47 | 0x29: 'れ', 48 | 0xE4: '!', 49 | 0x21: 'め', 50 | 0x1C: 'へ', 51 | 0x17: 'ね', 52 | 0x12: 'て', 53 | 0x0D: 'せ', 54 | 0x08: 'け', 55 | 0x03: 'え', 56 | 0x2F: '、', 57 | 0x2A: 'ろ', 58 | 0xE5: '?', 59 | 0x22: 'も', 60 | 0x1D: 'ほ', 61 | 0x18: 'の', 62 | 0x13: 'と', 63 | 0x0E: 'そ', 64 | 0x09: 'こ', 65 | 0x04: 'お' 66 | } 67 | 68 | for i in range(43): 69 | curdata = rawdata[i * 10:(i * 10) + 10] 70 | # garbage = curdata[0:4] 71 | pw = curdata[4:10] 72 | 73 | pwstr = "" 74 | 75 | for byte in pw: 76 | pwstr += DECODE_TABLE[byte] 77 | 78 | print(f"{pwstr}\n") -------------------------------------------------------------------------------- /AOC-Patching/libpatchaoc/include/customresult.hh: -------------------------------------------------------------------------------- 1 | #ifndef __customresult_hh__ 2 | #define __customresult_hh__ 3 | 4 | #include <3ds/result.h> 5 | 6 | // 0xD8A3FBEB 7 | #define ARCHIVE_CLOSED MAKERESULT(RL_PERMANENT, RS_INVALIDSTATE, RM_APPLICATION, RD_ALREADY_DONE) 8 | 9 | // 0xD8A3FBE6 10 | #define CANNOT_CLOSE_ARCHIVE_FILES_OPEN MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_ARCHIVE_FILES_OPEN) 11 | 12 | // 0xD8A3FBE7 13 | #define TITLE_VERSION_MISMATCH MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_TITLE_VERSION_MISMATCH) 14 | 15 | // 0xD8A3FBED 16 | #define INVALID_PATCH_TYPE MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_INVALID_ENUM_VALUE) 17 | 18 | // 0xD8A3FBF6 19 | #define INVALID_POINTER MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_INVALID_POINTER) 20 | 21 | // 0xD8A3FBF7 22 | #define INVALID_HANDLE MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_INVALID_HANDLE) 23 | 24 | // 0xD8A3FBFA 25 | #define FILE_NOT_FOUND MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_NOT_FOUND) 26 | 27 | // 0xD8A3FBE5 28 | #define INCOMPLETE_IO MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_INCOMPLETE_IO) 29 | 30 | // 0xD8A3FBE4 31 | #define TITLES_NOT_FOUND MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_TITLES_NOT_FOUND) 32 | 33 | // 0xD8A3FBEC 34 | #define INVALID_SAVE_SIZE MAKERESULT(RL_PERMANENT,RS_INVALIDSTATE,RM_APPLICATION,RD_INVALID_SIZE) 35 | 36 | enum 37 | { 38 | RD_TITLE_VERSION_MISMATCH = RD_INVALID_RESULT_VALUE - 24, 39 | RD_ARCHIVE_FILES_OPEN = RD_INVALID_RESULT_VALUE - 25, 40 | RD_INCOMPLETE_IO = RD_INVALID_RESULT_VALUE - 26, 41 | RD_TITLES_NOT_FOUND = RD_INVALID_RESULT_VALUE - 27, 42 | }; 43 | 44 | #endif -------------------------------------------------------------------------------- /Password-Cracking/Nicola Kanshuu - Model Oshare Audition Platina/README.md: -------------------------------------------------------------------------------- 1 | # Nicola Kanshuu - Model Oshare Audition Platina 2 | 3 | All in-game item passwords for Nicola Kanshuu - Model Oshare Audition Platina (00040000000A9800) (JP). 4 | 5 | ていそしこか 6 | 7 | なのあしつえ 8 | 9 | ふきほおゆの 10 | 11 | あゆとらやに 12 | 13 | ちきよさりて 14 | 15 | さいそけきち 16 | 17 | りよそいせる 18 | 19 | うりおそよい 20 | 21 | ほやおふにり 22 | 23 | にはほうせつ 24 | 25 | つせひうこく 26 | 27 | へのけりやつ 28 | 29 | そゆそくたえ 30 | 31 | らうりのぬつ 32 | 33 | かてりのねろ 34 | 35 | きけはしのち 36 | 37 | とへつるけな 38 | 39 | かなうとぬい 40 | 41 | ゆのけてるか 42 | 43 | しゆうこわひ 44 | 45 | てよよたにへ 46 | 47 | うこしはえき 48 | 49 | なくはのたね 50 | 51 | こねちへかは 52 | 53 | あかとのにあ 54 | 55 | ねてえたのて 56 | 57 | たかのへくぬ 58 | 59 | ちくとにたい 60 | 61 | しひくねせこ 62 | 63 | てなとそえる 64 | 65 | とこかてそあ 66 | 67 | いこふねひち 68 | 69 | にかそきへふ 70 | 71 | なやちきなへ 72 | 73 | やおさゆとち 74 | 75 | ろねるゆとけ 76 | 77 | ひおけにいい 78 | 79 | おふるへねそ 80 | 81 | くへらわにと 82 | 83 | さらにほせけ 84 | 85 | わうさねるほ 86 | 87 | ろあこほるわ 88 | 89 | ほよこねらえ 90 | 91 | せよらほかし 92 | 93 | ぬけねたらえ 94 | 95 | たはぬよとき 96 | 97 | はてさふぬく 98 | 99 | おらふえりり 100 | 101 | あゆよせふや 102 | 103 | ひいほひたふ 104 | 105 | やえはせたい 106 | 107 | うやぬつはし 108 | 109 | ぬつさうほは 110 | 111 | たぬえふさき 112 | 113 | けしくたくな 114 | 115 | ふおやよつゆ 116 | 117 | しへふなひつ 118 | 119 | せのちあさき 120 | 121 | あなやたひゆ 122 | 123 | おちらろさぬ 124 | 125 | ふみるうのて 126 | 127 | ぬちろえほけ 128 | 129 | きこめしきえ 130 | 131 | やつみせいあ 132 | 133 | うつませまた 134 | 135 | かせふのみた 136 | 137 | ねむえぬぬせ 138 | 139 | んしるみより 140 | 141 | ちえすかもす 142 | 143 | むさやんしに 144 | 145 | にわせこきい 146 | 147 | ふりむんぬわ 148 | 149 | すせにつにみ 150 | 151 | みきこはるわ 152 | 153 | ユカリ 154 | 155 | マナミ 156 | -------------------------------------------------------------------------------- /General-Hacking/Dillon's Dead-Heat Breakers Bug Fix/README.md: -------------------------------------------------------------------------------- 1 | # Dillon's Dead-Heat Breakers Bug Fix 2 | 3 | Dillon's Dead-Heat Breakers (US) (00040000001CF300) has a critical bug that occurs when trying to enter certain sections in the game when there are pending friend requests ("provisionally registered friends", meaning when you have added friends but they haven't yet added you back). 4 | 5 | Due to the nature of the friends system on the 3DS, Mii data for these pending friend requests are blanked out until the friend accepts your friend request. Once accepted, the friends servers send the friend's Mii to your console. 6 | 7 | The game does not perform any checks to make sure the gotten Mii data is valid, and as such, blank Mii data from these pending friends is assumed to always be valid. Because the game uses Mii data from both the local Miis (the ones in the Mii Maker) and friend Miis to create the in-game "gunners," this bug will cause a crash when the 3D models of the gunner characters areloaded, effectively preventing a player with pending friend requests from progressing in the game until the pending friend requests are deleted. 8 | 9 | This patch aims to provide a solution for this issue by installing custom code that checks for blank Mii data before handing the Mii data off to be used for creating the game character models. If blank Mii data is found, it will be overwritten with a fallback Mii included within the patch, enabling players to continue progressing in the game even with pending friend requests. 10 | 11 | **NOTE: This patch is exclusively meant for the US version of the game. It is currently unknown whether or not the different regional releases of this game also have this bug.** 12 | 13 | How to use: 14 | 15 | 1. Download [code.ips](./code.ips) and place it at `sd:/luma/titles/00040000001CF300/code.ips`. 16 | 2. Make sure Luma3DS game patching is enabled. 17 | 3. The game should now work as expected. 18 | -------------------------------------------------------------------------------- /AOC-Patching/mclc/source/main.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(int argc, char* argv[]) 4 | { 5 | gfxInitDefault(); 6 | amInit(); 7 | fsInit(); 8 | 9 | consoleInit(GFX_TOP, NULL); 10 | 11 | printf( 12 | " - MCLC - \n" 13 | " https://github.com/ZeroSkill1/CTR-AOC-Patching \n\n"); 14 | 15 | printf("Patching...\n\n"); 16 | 17 | Result res = DLC::Minecraft::Patch(); 18 | 19 | switch (res) 20 | { 21 | case 0: 22 | printf("SUCCESS: All installed versions of\nMinecraft have been patched!\n\n"); 23 | break; 24 | case TITLE_VERSION_MISMATCH: 25 | printf( 26 | "ERROR: Title version mismatch - one or more\n" 27 | "versions of the game/DLC are outdated.\n" 28 | "Please make sure you have the latest version(s) of\n" 29 | "the base game and the DLC for all\n" 30 | "installed regions of the game.\n\n"); 31 | break; 32 | case TITLES_NOT_FOUND: 33 | printf( 34 | "ERROR: No versions of the game were found." 35 | "Please make sure you have the latest version(s) of\n" 36 | "the base game and the DLC\n" 37 | "for all installed regions of the game.\n\n"); 38 | break; 39 | case FILE_NOT_FOUND: 40 | printf( 41 | "ERROR: File in save data not found. Please make\n" 42 | "sure that you have played up to the point where\n" 43 | "you can visit the shop and purchase minigames.\n\n"); 44 | break; 45 | case (Result)0xC8804478: 46 | case (Result)0xC8A04555: 47 | case (Result)0xC8804464: 48 | printf( 49 | "ERROR: Save data not found. Please make\n" 50 | "sure that you have played up to the point where\n" 51 | "you can visit the shop and purchase minigames.\n\n"); 52 | break; 53 | default: 54 | printf( 55 | "ERROR: Unknown error. Error Code: %08lX\n" 56 | "Please report this error.\n\n", res); 57 | break; 58 | } 59 | 60 | printf("Press START to exit.\n"); 61 | 62 | // Main loop 63 | while (aptMainLoop()) 64 | { 65 | gspWaitForVBlank(); 66 | gfxSwapBuffers(); 67 | hidScanInput(); 68 | 69 | u32 kDown = hidKeysDown(); 70 | if (kDown & KEY_START) 71 | break; 72 | } 73 | 74 | gfxExit(); 75 | amExit(); 76 | fsExit(); 77 | return 0; 78 | } 79 | -------------------------------------------------------------------------------- /General-Hacking/Chibi-Robo! Photo Finder Outfit Unlock/README.md: -------------------------------------------------------------------------------- 1 | # Chibi-Robo! Photo Finder Outfit Unlock 2 | 3 | Chibi-Robo! Photo Finder (US/EU) for the Nintendo 3DS included outfits for the in-game character. These outfits were meant to be unlocked through an in-game contest relying on SpotPass to unlock the outfits for winners. 4 | 5 | Since the contest has concluded years ago, there is no way to unlock these outfits except for save editing. 6 | 7 | I have examined this game and found that most if not all of the game is run in a custom scripting engine, which is almost like emulating a whole CPU! Internally, the game refers to this pseudo-CPU as `n2::VirtualMachine`. These binary "scripts" are .nb files and have the header magic N2BC. I decided to look further into reverse engineering the format and was able to write a full disassembler for it. The code for the disassembler is included. 8 | 9 | I was not aware of the save editing method of unlocking these outfits, and therefore I used a different technique to achieve the same result: modifying the script responsible for checking whether the player has any of the outfits. 10 | 11 | How to use: 12 | 13 | 1. Download the .ips file corresponding to the region of the game you have: [USA](./US_title.nb.ips) | [EUR](./EU_title.nb.ips) 14 | - To avoid sharing the actual game files, IPS patches are used instead. 15 | 2. Using GodMode9 or another method, extract the following file from the game's RomFS: `romfs:/hio/script/title.nb`. 16 | 3. Using an IPS patcher, apply the IPS patch you downloaded to the `title.nb` file. 17 | - You can also use a website like [RomPatcher.js](https://www.marcrobledo.com/RomPatcher.js) to do this. 18 | 4. Rename the patched file to `title.nb` if it is not named like that already. 19 | 5. Place this patched `title.nb` file into the following folder depending on your game's region (create folders where needed): 20 | - `sd:/luma/titles/0004000000107C00/romfs/hio/script/title.nb` for USA; 21 | - `sd:/luma/titles/00040000000F7600/romfs/hio/script/title.nb` for EUR. 22 | 6. Make sure Luma3DS game patching is enabled. 23 | 7. Upon launching the game and heading into `Options`, you should have an `Outfits` menu entry where you can choose outfits! -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/source/main.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(int argc, char* argv[]) 4 | { 5 | gfxInitDefault(); 6 | amInit(); 7 | fsInit(); 8 | 9 | consoleInit(GFX_TOP, NULL); 10 | 11 | printf( 12 | " - Rusty's Real DeaLC - \n" 13 | " https://github.com/ZeroSkill1/CTR-AOC-Patching \n\n"); 14 | 15 | printf("Patching...\n\n"); 16 | 17 | Result res = DLC::RustysRealDealBaseball::Patch(); 18 | 19 | switch (res) 20 | { 21 | case 0: 22 | printf("SUCCESS: All installed versions of\nRusty's Real Deal Baseball have been patched!\n\n"); 23 | break; 24 | case TITLE_VERSION_MISMATCH: 25 | printf( 26 | "ERROR: Title version mismatch - one or more\n" 27 | "versions of the game/DLC are outdated.\n" 28 | "Please make sure you have the latest version(s) of\n" 29 | "the base game and the DLC for all\n" 30 | "installed regions of the game.\n\n"); 31 | break; 32 | case TITLES_NOT_FOUND: 33 | printf( 34 | "ERROR: No versions of the game were found." 35 | "Please make sure you have the latest version(s) of\n" 36 | "the base game and the DLC\n" 37 | "for all installed regions of the game.\n\n"); 38 | break; 39 | case FILE_NOT_FOUND: 40 | printf( 41 | "ERROR: File in save data not found. Please make\n" 42 | "sure that you have played up to the point where\n" 43 | "you can visit the shop and purchase minigames.\n\n"); 44 | break; 45 | case (Result)0xC8804478: 46 | case (Result)0xC8A04555: 47 | case (Result)0xC8804464: 48 | printf( 49 | "ERROR: Save data not found. Please make\n" 50 | "sure that you have played up to the point where\n" 51 | "you can visit the shop and purchase minigames.\n\n"); 52 | break; 53 | default: 54 | printf( 55 | "ERROR: Unknown error. Error Code: %08lX\n" 56 | "Please report this error.\n\n", res); 57 | break; 58 | } 59 | 60 | printf("Press START to exit.\n"); 61 | 62 | // Main loop 63 | while (aptMainLoop()) 64 | { 65 | gspWaitForVBlank(); 66 | gfxSwapBuffers(); 67 | hidScanInput(); 68 | 69 | u32 kDown = hidKeysDown(); 70 | if (kDown & KEY_START) 71 | break; 72 | } 73 | 74 | gfxExit(); 75 | amExit(); 76 | fsExit(); 77 | return 0; 78 | } 79 | -------------------------------------------------------------------------------- /General-Hacking/HOME Menu Patches/README.md: -------------------------------------------------------------------------------- 1 | # Home Menu Patches 2 | 3 | ## KOR Home Menu Theme + Layout Saving Patch 4 | 5 | NOTE: This patch also enables the usage of badges. Details further below. 6 | 7 | A patch for the Korean version of the Nintendo 3DS HOME menu to enable the usage of themes and the HOME menu layout saving feature. By default, the KOR region does not have support for themes or saving layouts. Nevertheless, all the required code is still present in the code binary. The patch will fix the stock code not accounting for the KOR region by ensuring the extdata ID is set. An additional patched layout file in the RomFS will make the hidden buttons visible again. 8 | 9 | Notes: 10 | - I used the extdata ID 000002CF. 11 | - This patch is known to work on the latest version of the KOR HOME menu at the time of writing this (v15361). 12 | - As the localization files do not include translations for the text related to themes and layout saving, some UI elements may appear without text. This does not affect functionality, however. 13 | 14 | How to use: 15 | 16 | - Enable Luma3DS game patching. 17 | - Copy [code.ips](./KOR/code.ips) to `sd:/luma/titles/000400300000A902/code.ips`. 18 | - Copy [petit_LZ.bin](./KOR/petit_LZ.bin) to `sd:/luma/titles/000400300000A902/romfs/petit_LZ.bin`. 19 | - Turn on your system. 20 | - Upon opening the menu on the top left corner of the HOME menu, the theme menu button and HOME menu layout button should reappear and be functional. 21 | 22 | Credit goes to [@cooolgamer](https://github.com/cooolgamer) for patching `petit_LZ.bin`. 23 | 24 | ## Badge NNID Patch 25 | 26 | The HOME Menu uses the Nintendo Network ID (NNID)'s PrincipalId and stores it inside the badge save files. Due to this, it is neither possible to create badge save data without a Nintendo Network ID, nor is it possible to restore the badge data from one console onto another without manual modifications. 27 | 28 | This patch completely removes this requirement by bypassing all checks related to NNIDs and badge save data creation and reading, allowing the creation of badge save data and usage of foregin consoles' badge data as-is. This is especially important for the KOR region as there is no way to link an NNID on that region. 29 | 30 | Notes: 31 | - Patches are made for the latest versions of the respective regions' HOME Menus (JPN, EUR, USA, KOR). 32 | 33 | How to use: 34 | 35 | - Enable Luma3DS game patching. 36 | - Copy `code.ips` ([JPN](./JPN/code.ips) [EUR](./EUR/code.ips) [USA](./USA/code.ips) [KOR (also includes Themes + Layout saving, see above)](./KOR/code.ips)) to: 37 | - `sd:/luma/titles/0004003000008202/code.ips` for JPN 38 | - `sd:/luma/titles/0004003000009802/code.ips` for EUR 39 | - `sd:/luma/titles/0004003000008F02/code.ips` for USA 40 | - `sd:/luma/titles/000400300000A902/code.ips` for KOR 41 | - Badge functionality should now be working without NNID checks! 42 | -------------------------------------------------------------------------------- /AOC-Patching/libpatchaoc/include/patch.hh: -------------------------------------------------------------------------------- 1 | #ifndef __patch_hh__ 2 | #define __patch_hh__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | namespace DLC 12 | { 13 | // expand this enum when adding new games 14 | enum class PatchType 15 | { 16 | Minecraft = 1, 17 | RustysRealDealBaseball = 2, 18 | }; 19 | 20 | enum class PatchTitleRegion 21 | { 22 | EUR = 1, 23 | USA = 2, 24 | JPN = 3, 25 | KOR = 4, 26 | TWN = 5, 27 | }; 28 | 29 | enum class PatchTitleFlags 30 | { 31 | HasDLC = 0x1, 32 | HasUpdate = 0x2, 33 | IsKTROnly = 0x4, 34 | UsesExtData = 0x8, 35 | UsesSaveData = 0x10, 36 | }; 37 | 38 | typedef struct PatchTitle 39 | { 40 | u32 UniqueID; 41 | PatchTitleFlags Flags; 42 | u16 TitleVersion; 43 | u16 DLCTitleVersion; 44 | u16 UpdateTitleVersion; 45 | PatchTitleRegion Region; 46 | } PatchTitle; 47 | 48 | namespace Minecraft 49 | { 50 | static const PatchTitle Titles[3] = 51 | { 52 | { 0x17FD00, (PatchTitleFlags)( (int)PatchTitleFlags::HasUpdate | (int)PatchTitleFlags::HasDLC | (int)PatchTitleFlags::IsKTROnly | (int)PatchTitleFlags::UsesExtData ), 48, 48, 9424, PatchTitleRegion::JPN }, 53 | { 0x17CA00, (PatchTitleFlags)( (int)PatchTitleFlags::HasUpdate | (int)PatchTitleFlags::HasDLC | (int)PatchTitleFlags::IsKTROnly | (int)PatchTitleFlags::UsesExtData ), 16, 48, 9392, PatchTitleRegion::EUR }, 54 | { 0x1B8700, (PatchTitleFlags)( (int)PatchTitleFlags::HasUpdate | (int)PatchTitleFlags::HasDLC | (int)PatchTitleFlags::IsKTROnly | (int)PatchTitleFlags::UsesExtData ), 16, 48, 9408, PatchTitleRegion::USA }, 55 | }; 56 | 57 | Result PatchSingle(const DLC::PatchTitle& title); 58 | Result Patch(); 59 | } 60 | 61 | namespace RustysRealDealBaseball 62 | { 63 | static const PatchTitle Titles[3] 64 | { 65 | { 0x106400, (PatchTitleFlags)( (int)PatchTitleFlags::HasDLC | (int)PatchTitleFlags::UsesSaveData ), 16, 32, 0xFFFF, PatchTitleRegion::USA }, 66 | { 0x126200, (PatchTitleFlags)( (int)PatchTitleFlags::HasDLC | (int)PatchTitleFlags::UsesSaveData ), 0, 0, 0xFFFF, PatchTitleRegion::KOR }, 67 | { 0x0D2900, (PatchTitleFlags)( (int)PatchTitleFlags::HasDLC | (int)PatchTitleFlags::UsesSaveData ), 1056, 0, 0xFFFF, PatchTitleRegion::JPN }, 68 | }; 69 | 70 | Result PatchSingle(const DLC::PatchTitle& title); 71 | Result Patch(); 72 | } 73 | 74 | Result TitleExists(const PatchTitle &title); 75 | Result TitlesExist(const PatchTitle *titles, u32 *out, int count); 76 | 77 | inline Result Patch(PatchType type) 78 | { 79 | switch (type) 80 | { 81 | case PatchType::Minecraft: 82 | return DLC::Minecraft::Patch(); 83 | case PatchType::RustysRealDealBaseball: 84 | return DLC::RustysRealDealBaseball::Patch(); 85 | default: 86 | return INVALID_PATCH_TYPE; 87 | } 88 | } 89 | } 90 | 91 | #endif -------------------------------------------------------------------------------- /Password-Cracking/All Kamen Rider: Rider Revolution/README.md: -------------------------------------------------------------------------------- 1 | # All Kamen Rider: Rider Revolution 2 | 3 | This includes all working QR codes to be used in the QR code menu of All Kamen Rider: Rider Revolution (JP) (000400000019CD00). 4 | 5 | ## QR Code 1 6 | 7 | ![Image](./qrs/qr_1.png) 8 | 9 | ## QR Code 2 10 | 11 | ![Image](./qrs/qr_2.png) 12 | 13 | ## QR Code 3 14 | 15 | ![Image](./qrs/qr_3.png) 16 | 17 | ## QR Code 4 18 | 19 | ![Image](./qrs/qr_4.png) 20 | 21 | ## QR Code 5 22 | 23 | ![Image](./qrs/qr_5.png) 24 | 25 | ## QR Code 6 26 | 27 | ![Image](./qrs/qr_6.png) 28 | 29 | ## QR Code 7 30 | 31 | ![Image](./qrs/qr_7.png) 32 | 33 | ## QR Code 8 34 | 35 | ![Image](./qrs/qr_8.png) 36 | 37 | ## QR Code 9 38 | 39 | ![Image](./qrs/qr_9.png) 40 | 41 | ## QR Code 10 42 | 43 | ![Image](./qrs/qr_10.png) 44 | 45 | ## QR Code 11 46 | 47 | ![Image](./qrs/qr_11.png) 48 | 49 | ## QR Code 12 50 | 51 | ![Image](./qrs/qr_12.png) 52 | 53 | ## QR Code 13 54 | 55 | ![Image](./qrs/qr_13.png) 56 | 57 | ## QR Code 14 58 | 59 | ![Image](./qrs/qr_14.png) 60 | 61 | ## QR Code 15 62 | 63 | ![Image](./qrs/qr_15.png) 64 | 65 | ## QR Code 16 66 | 67 | ![Image](./qrs/qr_16.png) 68 | 69 | ## QR Code 17 70 | 71 | ![Image](./qrs/qr_17.png) 72 | 73 | ## QR Code 18 74 | 75 | ![Image](./qrs/qr_18.png) 76 | 77 | ## QR Code 19 78 | 79 | ![Image](./qrs/qr_19.png) 80 | 81 | ## QR Code 20 82 | 83 | ![Image](./qrs/qr_20.png) 84 | 85 | ## QR Code 21 86 | 87 | ![Image](./qrs/qr_21.png) 88 | 89 | ## QR Code 22 90 | 91 | ![Image](./qrs/qr_22.png) 92 | 93 | ## QR Code 23 94 | 95 | ![Image](./qrs/qr_23.png) 96 | 97 | ## QR Code 24 98 | 99 | ![Image](./qrs/qr_24.png) 100 | 101 | ## QR Code 25 102 | 103 | ![Image](./qrs/qr_25.png) 104 | 105 | ## QR Code 26 106 | 107 | ![Image](./qrs/qr_26.png) 108 | 109 | ## QR Code 27 110 | 111 | ![Image](./qrs/qr_27.png) 112 | 113 | ## QR Code 28 114 | 115 | ![Image](./qrs/qr_28.png) 116 | 117 | ## QR Code 29 118 | 119 | ![Image](./qrs/qr_29.png) 120 | 121 | ## QR Code 30 122 | 123 | ![Image](./qrs/qr_30.png) 124 | 125 | ## QR Code 31 126 | 127 | ![Image](./qrs/qr_31.png) 128 | 129 | ## QR Code 32 130 | 131 | ![Image](./qrs/qr_32.png) 132 | 133 | ## QR Code 33 134 | 135 | ![Image](./qrs/qr_33.png) 136 | 137 | ## QR Code 34 138 | 139 | ![Image](./qrs/qr_34.png) 140 | 141 | ## QR Code 35 142 | 143 | ![Image](./qrs/qr_35.png) 144 | 145 | ## QR Code 36 146 | 147 | ![Image](./qrs/qr_36.png) 148 | 149 | ## QR Code 37 150 | 151 | ![Image](./qrs/qr_37.png) 152 | 153 | ## QR Code 38 154 | 155 | ![Image](./qrs/qr_38.png) 156 | 157 | ## QR Code 39 158 | 159 | ![Image](./qrs/qr_39.png) 160 | 161 | ## QR Code 40 162 | 163 | ![Image](./qrs/qr_40.png) 164 | 165 | ## QR Code 41 166 | 167 | ![Image](./qrs/qr_41.png) 168 | 169 | ## QR Code 42 170 | 171 | ![Image](./qrs/qr_42.png) 172 | 173 | ## QR Code 43 174 | 175 | ![Image](./qrs/qr_43.png) 176 | 177 | ## QR Code 44 178 | 179 | ![Image](./qrs/qr_44.png) 180 | 181 | ## QR Code 45 182 | 183 | ![Image](./qrs/qr_45.png) 184 | 185 | ## QR Code 46 186 | 187 | ![Image](./qrs/qr_46.png) 188 | 189 | ## QR Code 47 190 | 191 | ![Image](./qrs/qr_47.png) 192 | 193 | ## QR Code 48 194 | 195 | ![Image](./qrs/qr_48.png) 196 | 197 | ## QR Code 49 198 | 199 | ![Image](./qrs/qr_49.png) 200 | 201 | ## QR Code 50 202 | 203 | ![Image](./qrs/qr_50.png) 204 | 205 | ## QR Code 51 206 | 207 | ![Image](./qrs/qr_51.png) 208 | 209 | ## QR Code 52 210 | 211 | ![Image](./qrs/qr_52.png) 212 | 213 | ## QR Code 53 214 | 215 | ![Image](./qrs/qr_53.png) 216 | 217 | ## QR Code 54 218 | 219 | ![Image](./qrs/qr_54.png) 220 | 221 | ## QR Code 55 222 | 223 | ![Image](./qrs/qr_55.png) 224 | 225 | ## QR Code 56 226 | 227 | ![Image](./qrs/qr_56.png) 228 | 229 | ## QR Code 57 230 | 231 | ![Image](./qrs/qr_57.png) 232 | 233 | ## QR Code 58 234 | 235 | ![Image](./qrs/qr_58.png) 236 | 237 | ## QR Code 59 238 | 239 | ![Image](./qrs/qr_59.png) 240 | 241 | ## QR Code 60 242 | 243 | ![Image](./qrs/qr_60.png) 244 | 245 | ## QR Code 61 246 | 247 | ![Image](./qrs/qr_61.png) 248 | 249 | ## QR Code 62 250 | 251 | ![Image](./qrs/qr_62.png) 252 | -------------------------------------------------------------------------------- /AOC-Patching/libpatchaoc/Makefile: -------------------------------------------------------------------------------- 1 | #--------------------------------------------------------------------------------- 2 | .SUFFIXES: 3 | #--------------------------------------------------------------------------------- 4 | 5 | ifeq ($(strip $(DEVKITARM)),) 6 | $(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") 7 | endif 8 | 9 | include $(DEVKITARM)/3ds_rules 10 | 11 | %.o: %.cc 12 | $(SILENTMSG) $(notdir $<) 13 | $(SILENTCMD)$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) 14 | 15 | #--------------------------------------------------------------------------------- 16 | # TARGET is the name of the output 17 | # BUILD is the directory where object files & intermediate files will be placed 18 | # SOURCES is a list of directories containing source code 19 | # DATA is a list of directories containing data files 20 | # INCLUDES is a list of directories containing header files 21 | #--------------------------------------------------------------------------------- 22 | TARGET := $(shell basename $(CURDIR)) 23 | BUILD := build 24 | SOURCES := source 25 | DATA := data 26 | INCLUDES := include 27 | 28 | #--------------------------------------------------------------------------------- 29 | # options for code generation 30 | #--------------------------------------------------------------------------------- 31 | ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft 32 | 33 | CFLAGS := -g -Wall -mword-relocations \ 34 | -fomit-frame-pointer -ffunction-sections \ 35 | $(ARCH) 36 | 37 | CFLAGS += $(INCLUDE) -D__3DS__ 38 | CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions 39 | 40 | ASFLAGS := -g $(ARCH) 41 | 42 | #--------------------------------------------------------------------------------- 43 | # list of directories containing libraries, this must be the top level containing 44 | # include and lib 45 | #--------------------------------------------------------------------------------- 46 | LIBDIRS := $(CTRULIB) 47 | 48 | #--------------------------------------------------------------------------------- 49 | # no real need to edit anything past this point unless you need to add additional 50 | # rules for different file extensions 51 | #--------------------------------------------------------------------------------- 52 | ifneq ($(BUILD),$(notdir $(CURDIR))) 53 | #--------------------------------------------------------------------------------- 54 | 55 | export OUTPUT := $(CURDIR)/lib/lib$(TARGET).a 56 | 57 | export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ 58 | $(foreach dir,$(DATA),$(CURDIR)/$(dir)) 59 | 60 | export DEPSDIR := $(CURDIR)/$(BUILD) 61 | 62 | CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) 63 | CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cc))) 64 | SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) 65 | BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) 66 | 67 | #--------------------------------------------------------------------------------- 68 | # use CXX for linking C++ projects, CC for standard C 69 | #--------------------------------------------------------------------------------- 70 | ifeq ($(strip $(CPPFILES)),) 71 | #--------------------------------------------------------------------------------- 72 | export LD := $(CC) 73 | #--------------------------------------------------------------------------------- 74 | else 75 | #--------------------------------------------------------------------------------- 76 | export LD := $(CXX) 77 | #--------------------------------------------------------------------------------- 78 | endif 79 | #--------------------------------------------------------------------------------- 80 | 81 | export OFILES := $(addsuffix .o,$(BINFILES)) \ 82 | $(CPPFILES:.cc=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) 83 | 84 | export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ 85 | $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ 86 | -I$(CURDIR)/$(BUILD) 87 | 88 | .PHONY: $(BUILD) clean all 89 | 90 | #--------------------------------------------------------------------------------- 91 | all: $(BUILD) 92 | 93 | lib: 94 | @[ -d $@ ] || mkdir -p $@ 95 | 96 | $(BUILD): lib 97 | @[ -d $@ ] || mkdir -p $@ 98 | @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile 99 | 100 | #--------------------------------------------------------------------------------- 101 | clean: 102 | @echo clean ... 103 | @rm -fr $(BUILD) lib 104 | 105 | #--------------------------------------------------------------------------------- 106 | else 107 | 108 | DEPENDS := $(OFILES:.o=.d) 109 | 110 | #--------------------------------------------------------------------------------- 111 | # main targets 112 | #--------------------------------------------------------------------------------- 113 | $(OUTPUT) : $(OFILES) 114 | 115 | #--------------------------------------------------------------------------------- 116 | %.bin.o : %.bin 117 | #--------------------------------------------------------------------------------- 118 | @echo $(notdir $<) 119 | @$(bin2o) 120 | 121 | 122 | -include $(DEPENDS) 123 | 124 | #--------------------------------------------------------------------------------------- 125 | endif 126 | #--------------------------------------------------------------------------------------- 127 | -------------------------------------------------------------------------------- /Password-Cracking/Nicola Kanshuu - Model Oshare Audition Platina/convert.py: -------------------------------------------------------------------------------- 1 | import struct 2 | 3 | # requirements: python 3 4 | 5 | # get the decompressed code.bin from the 6 | # latest update file for the game (v1024) and extract 1216 bytes from offset 0x1349EC-0x134EAC 7 | # save the data as a file called data.bin 8 | # run this script in the same directory where you saved the file 9 | # it should print all the passwords to your terminal 10 | 11 | DECODE_TABLE: dict[int, str] = { 12 | 0x5082: "1", 13 | 0x5182: "2", 14 | 0x5282: "3", 15 | 0x5382: "4", 16 | 0x5482: "5", 17 | 0x5582: "6", 18 | 0x5682: "7", 19 | 0x5782: "8", 20 | 0x5882: "9", 21 | 0x4F82: "0", 22 | 0x9182: "q", 23 | 0x9782: "w", 24 | 0x8582: "e", 25 | 0x9282: "r", 26 | 0x9482: "t", 27 | 0x9982: "y", 28 | 0x9582: "u", 29 | 0x8982: "i", 30 | 0x8F82: "o", 31 | 0x9082: "p", 32 | 0x8182: "a", 33 | 0x9382: "s", 34 | 0x8482: "d", 35 | 0x8682: "f", 36 | 0x8782: "g", 37 | 0x8882: "h", 38 | 0x8A82: "j", 39 | 0x8B82: "k", 40 | 0x8C82: "l", 41 | 0x9A82: "z", 42 | 0x9882: "x", 43 | 0x8382: "c", 44 | 0x9682: "v", 45 | 0x8282: "b", 46 | 0x8E82: "n", 47 | 0x8D82: "m", 48 | 0x4381: ",", 49 | 0x4481: ".", 50 | 0x7082: "Q", 51 | 0x7682: "W", 52 | 0x6482: "E", 53 | 0x7182: "R", 54 | 0x7382: "T", 55 | 0x7882: "Y", 56 | 0x7482: "U", 57 | 0x6882: "I", 58 | 0x6E82: "O", 59 | 0x6F82: "P", 60 | 0x6082: "A", 61 | 0x7282: "S", 62 | 0x6382: "D", 63 | 0x6582: "F", 64 | 0x6682: "G", 65 | 0x6782: "H", 66 | 0x6982: "J", 67 | 0x6A82: "K", 68 | 0x6B82: "L", 69 | 0x7982: "Z", 70 | 0x7782: "X", 71 | 0x6282: "C", 72 | 0x7582: "V", 73 | 0x6182: "B", 74 | 0x6D82: "N", 75 | 0x6C82: "M", 76 | 77 | 0xED82: "わ", 78 | 0xE782: "ら", 79 | 0xE282: "や", 80 | 0xDC82: "ま", 81 | 0xCD82: "は", 82 | 0xC882: "な", 83 | 0xBD82: "た", 84 | 0xB382: "さ", 85 | 0xA982: "か", 86 | 0xA082: "あ", 87 | 0xF082: "を", 88 | 0xE882: "り", 89 | 0xE482: "ゆ", 90 | 0xDD82: "み", 91 | 0xD082: "ひ", 92 | 0xC982: "に", 93 | 0xBF82: "ち", 94 | 0xB582: "し", 95 | 0xAB82: "き", 96 | 0xA282: "い", 97 | 0xF182: "ん", 98 | 0xE982: "る", 99 | 0xE682: "よ", 100 | 0xDE82: "む", 101 | 0xD382: "ふ", 102 | 0xCA82: "ぬ", 103 | 0xC282: "つ", 104 | 0xB782: "す", 105 | 0xAD82: "く", 106 | 0xA482: "う", 107 | 0x4181: "、", 108 | 0xEA82: "れ", 109 | 0x4981: "!", 110 | 0xDF82: "め", 111 | 0xD682: "へ", 112 | 0xCB82: "ね", 113 | 0xC482: "て", 114 | 0xB982: "せ", 115 | 0xAF82: "け", 116 | 0xA682: "え", 117 | 0x4281: "。", 118 | 0xEB82: "ろ", 119 | 0x4881: "?", 120 | 0xE082: "も", 121 | 0xD982: "ほ", 122 | 0xCC82: "の", 123 | 0xC682: "と", 124 | 0xBB82: "そ", 125 | 0xB182: "こ", 126 | 0xA882: "お", 127 | 0xCE82: "ば", 128 | 0xD182: "び", 129 | 0xD482: "ぶ", 130 | 0xD782: "べ", 131 | 0xDA82: "ぼ", 132 | 0xBE82: "だ", 133 | 0xC082: "ぢ", 134 | 0xC382: "づ", 135 | 0xC582: "で", 136 | 0xC782: "ど", 137 | 0xB482: "ざ", 138 | 0xB682: "じ", 139 | 0xB882: "ず", 140 | 0xBA82: "ぜ", 141 | 0xBC82: "ぞ", 142 | 0xAA82: "が", 143 | 0xAC82: "ぎ", 144 | 0xAE82: "ぐ", 145 | 0xB082: "げ", 146 | 0xB282: "ご", 147 | 0xCF82: "ぱ", 148 | 0xD282: "ぴ", 149 | 0xD582: "ぷ", 150 | 0xD882: "ぺ", 151 | 0xDB82: "ぽ", 152 | 153 | 0x8F83: "ワ", 154 | 0x8983: "ラ", 155 | 0x8483: "ヤ", 156 | 0x7D83: "マ", 157 | 0x6E83: "ハ", 158 | 0x6983: "ナ", 159 | 0x5E83: "タ", 160 | 0x5483: "サ", 161 | 0x4A83: "カ", 162 | 0x4183: "ア", 163 | 0x9283: "ヲ", 164 | 0x8A83: "リ", 165 | 0x8683: "ユ", 166 | 0x7E83: "ミ", 167 | 0x7183: "ヒ", 168 | 0x6A83: "ニ", 169 | 0x6083: "チ", 170 | 0x5683: "シ", 171 | 0x4C83: "キ", 172 | 0x4383: "イ", 173 | 0x9383: "ソ", 174 | 0x8B83: "ル", 175 | 0x8883: "ヨ", 176 | 0x8083: "ム", 177 | 0x7483: "フ", 178 | 0x6B83: "ヌ", 179 | 0x6383: "ツ", 180 | 0x5883: "ス", 181 | 0x4E83: "ク", 182 | 0x4583: "ウ", 183 | 0x8C83: "レ", 184 | 0x8183: "メ", 185 | 0x7783: "ヘ", 186 | 0x6C83: "ネ", 187 | 0x6583: "テ", 188 | 0x5A83: "セ", 189 | 0x5083: "ケ", 190 | 0x4783: "エ", 191 | 0x8D83: "ロ", 192 | 0x8283: "モ", 193 | 0x7A83: "ホ", 194 | 0x6D83: "ノ", 195 | 0x6783: "ト", 196 | 0x5C83: "ソ", 197 | 0x5283: "コ", 198 | 0x4983: "オ", 199 | 0x6F83: "バ", 200 | 0x7283: "ビ", 201 | 0x7583: "ブ", 202 | 0x7883: "ベ", 203 | 0x7B83: "ボ", 204 | 0x5F83: "ダ", 205 | 0x6183: "ヂ", 206 | 0x6483: "ヅ", 207 | 0x6683: "デ", 208 | 0x6883: "ド", 209 | 0x5583: "ザ", 210 | 0x5783: "ジ", 211 | 0x5983: "ズ", 212 | 0x5B83: "ゼ", 213 | 0x5D83: "ゾ", 214 | 0x4B83: "ガ", 215 | 0x4D83: "ギ", 216 | 0x4F83: "グ", 217 | 0x5183: "ゲ", 218 | 0x5383: "ゴ", 219 | 0x7083: "パ", 220 | 0x7383: "ピ", 221 | 0x7683: "プ", 222 | 0x7983: "ペ", 223 | 0x7C83: "ポ", 224 | 225 | 0x9981: "☆", 226 | 0x9A81: "★", 227 | 0x9B81: "○", 228 | 0x9C81: "●", 229 | 0x9D81: "⭗", 230 | 0x9E81: "◇", 231 | 0x9F81: "◆", 232 | 0xA181: "■", 233 | 0xA281: "△", 234 | 0xA481: "▽", 235 | 0xA081: "♡", 236 | 0xA581: "♥", 237 | 0xAA81: "⇈", 238 | 0xAB81: "⇊", 239 | 0x9581: "&", 240 | 0xF481: "𝅘𝅥𝅮", 241 | 0xF681: "⁉", 242 | 0x6181: "!!", 243 | 0x4981: "!", 244 | 0x4881: "?", 245 | 0x4F81: "^", 246 | 0x5E81: "╱", 247 | 0x5F81: "╲", 248 | 0x5B81: "-", 249 | 0x6081: "~", 250 | 0x6981: "(", 251 | 0x6A81: ")", 252 | 253 | 0x0000: " " 254 | } 255 | 256 | with open("data.bin", "rb") as f: 257 | data = f.read() 258 | 259 | for i in range(76): 260 | off = i * 0x10 261 | dt = data[off + 1:off + 0xD] 262 | raw = struct.unpack("HHHHHH", dt) 263 | st = "" 264 | for j in raw: 265 | st += DECODE_TABLE[j] 266 | print(st) 267 | -------------------------------------------------------------------------------- /General-Hacking/Niconico Patch/patch.txt: -------------------------------------------------------------------------------- 1 | ; vim: filetype=asm 2 | 3 | .3ds 4 | .open "code.bin", "patched_code.bin", 0x00100000 5 | 6 | .org 0x001A17E4 ; GetLastResponseResult 7 | mov r0, #0 8 | pop {r4,pc} 9 | 10 | .org 0x001A1814 ; GetServiceLocatorData 11 | mov r0, #0 12 | pop {r4-r8,pc} 13 | 14 | .org 0x001A18E8 ; GetGameAuthenticationData 15 | mov r0, #0 16 | pop {r4-r8,pc} 17 | 18 | .org 0x0017DD48 ; login nasc/http check 19 | b 0x17DD74 20 | 21 | .org 0x0017DF74 ; svcloc nasc/http check 22 | b 0x17DFA8 23 | 24 | .org 0x0053CDFC ; prevent niconico from ever showing the "you are offline" dialog 25 | nop 26 | 27 | .org 0x0053CE0C ; prevent niconico from ever showing the "you are offline" dialog 28 | nop 29 | 30 | .org 0x0023331C ; trick niconico into thinking we're connected 31 | mov r0, #1 32 | bx lr 33 | 34 | .org 0x003149A8 ; trick niconico into thinking we're connected 35 | mov r0, #1 36 | bx lr 37 | 38 | .org 0x001723B8 ; trick niconico into thinking we don't have an NNID even if we have one 39 | mov r0, #0 40 | pop {r4-r6,pc} 41 | 42 | .org 0x00393280 ; make sure getting the NNID account id always fails 43 | nop 44 | 45 | .org 0x003FE524 46 | mov r1, #1 ; enable surema button on title screen 47 | 48 | .org 0x00100014 ; nop out the stubbed function 49 | nop 50 | 51 | .org 0x001056B8 ; function extension to set up stack args 52 | mov r0, sp 53 | push {r0-r1, lr} 54 | mov r0, #1 55 | mov r1, #5 56 | stmia sp, {r0,r1} 57 | pop {r0-r1, pc} 58 | 59 | .org 0x002CB1B0 60 | mov r1, #6 ; set the button text 61 | 62 | .org 0x002CB1B8 63 | mov r1, #7 ; set the description on the top screen 64 | 65 | .org 0x002CB1E4 66 | str r0, [sp, #72] 67 | bl 0x1056B8 ; set up the correct flags for surema 68 | mov r1, #3 ; set the action to be surema 69 | 70 | .org 0x002CB338 71 | dcd 0xCA4598 ; replace the icon to be the streetpass icon 72 | 73 | ; .org 0x002CAFAC 74 | ; ; volume setting 75 | ; mov r0, r6 76 | ; mov r1, #1 77 | ; adr r2, vol_icon 78 | ; mov r3, #2 79 | ; bl 0x00BF8524 80 | ; ; surema setting 81 | ; mov r0, r6 82 | ; mov r1, #3 83 | ; adr r2, surema_icon 84 | ; mov r3, #6 85 | ; bl 0x00BF8524 86 | ; b 0x002CB034 87 | ; vol_icon: 88 | ; dcd 0xCA45CC 89 | ; surema_icon: 90 | ; dcd 0xCA4594 91 | ; 92 | ; 93 | ; 94 | ; ; add_toggle_option(this@R0, menu index@R1, icon file name address@R2, setting name start number@R3 95 | ; 96 | ; .org 0x00BF8524 97 | ; 98 | ; ; begin function 99 | ; 100 | ; push {r0-r8,lr} 101 | ; 102 | ; sub sp, sp, #28 ; make room for all the things 103 | ; 104 | ; ; construct text_thing 105 | ; 106 | ; adr r4, textpath ; &"AppSettingSceneText.txt" 107 | ; 108 | ; str r4, [sp, #4] ; text_thing[1] = textpath; 109 | ; mov r4, #0 ; 110 | ; str r4, [sp, #8] ; text_thing[2] = 0; 111 | ; str r4, [sp, #12] ; text_thing[3] = 0; 112 | ; str r4, [sp, #16] ; text_thing[4] = 0; 113 | ; str r2, [sp, #24] 114 | ; 115 | ; mov r4, r0 ; r4 = this; 116 | ; 117 | ; mov r7, r1 ; r7 = menu index 118 | ; 119 | ; push {r2-r3} 120 | ; bl 0x1114AC ; menu_thing = sub_1114AC(); (spoils: r0, r1, r2) 121 | ; pop {r2-r3} 122 | ; 123 | ; str r0, [sp, #20] 124 | ; 125 | ; ; set up text_thing 126 | ; 127 | ; add r0, sp, #4 ; text_thing 128 | ; mov r1, r3 ; r1 = setting name start number 129 | ; bl 0x52F2E8 ; chain_thing = sub_52F2E8(text_thing, setting name start number); 130 | ; add r1, r1, #1 ; r1 = setting name start number (r1) + 1 131 | ; bl 0x52F2E8 ; chain_thing = sub_52F2E8(chain_thing, setting name start number + 1); 132 | ; 133 | ; ; create string maybe from chain_thing 134 | ; 135 | ; mov r1, r0 ; r1 = chain_thing 136 | ; add r0, sp ; r0 = text thing 137 | ; push {r1-r3} 138 | ; bl 0x52EDAC ; sub_52EDAC(string maybe, chain_thing); 139 | ; pop {r1-r3} 140 | ; mov r3, r0 ; r3 = string maybe 141 | ; 142 | ; ; set up menu thing using text thing and string maybe) 143 | ; 144 | ; mov r0, r4 ; this 145 | ; mov r1, r7 ; menu index 146 | ; add r2, sp, #20 ; icon file name address reference 147 | ; mov r3, sp ; string maybe (already in r3) 148 | ; sub sp, sp, #8 ; make space for two stack args 149 | ; mov r6, #1 ; first flag arg is 1 150 | ; str r6, [sp] ; first flag arg is 1 151 | ; add r6, #4 ; second flag arg is 5 152 | ; str r6, [sp, #4] ; second flag arg is 5 153 | ; bl 0x2CB344 ; sub_2CB344(this, menu index, icon file name address reference, string maybe, flag arg 1, flag arg 2) 154 | ; 155 | ; ; deallocate stack space for two stack args 156 | ; 157 | ; add sp, sp, #8 158 | ; 159 | ; ; destroy string maybe 160 | ; 161 | ; add r0, sp ; r0 = string maybe 162 | ; 163 | ; bl 0x21670C ; sub_21670C(string maybe); // probably destroys it 164 | ; 165 | ; ; add the result to menu_thing 166 | ; 167 | ; mov r8, r5 ; step 1 = menu_thing 168 | ; ldr r8, [r5] ; step 2 = *(step 1) 169 | ; ldr r8, [r8, #8] ; step 3 = *(step 2 + 8) 170 | ; ldr r0, [sp, #20] ; r0 = menu_thing 171 | ; ldr r1, [sp, #8] ; r1 = text_thing[2] 172 | ; blx r8 ; step 3(menu_thing, text_thing[2]) 173 | ; 174 | ; add sp, sp, #20 ; deallocate stack for all of the things 175 | ; 176 | ; ; return 177 | ; 178 | ; pop {r0-r8,pc} 179 | ; 180 | ; textpath: 181 | ; dcd 0x002CB0D8 ; points to "AppSettingSceneText.txt" 182 | .close 183 | -------------------------------------------------------------------------------- /Password-Cracking/Nicola Kanshuu - Model Oshare Audition Dream Girl/extract.py: -------------------------------------------------------------------------------- 1 | import struct 2 | 3 | # requirements: python 3 4 | 5 | # get the decompressed code.bin from the latest update file for the game (v1072) 6 | # make sure the file is named code.bin 7 | # run this script in the same directory where you saved the file 8 | # it should print all the passwords to your terminal 9 | 10 | DECODE_TABLE: dict[int, str] = { 11 | 0x5082: "1", 12 | 0x5182: "2", 13 | 0x5282: "3", 14 | 0x5382: "4", 15 | 0x5482: "5", 16 | 0x5582: "6", 17 | 0x5682: "7", 18 | 0x5782: "8", 19 | 0x5882: "9", 20 | 0x4F82: "0", 21 | 0x9182: "q", 22 | 0x9782: "w", 23 | 0x8582: "e", 24 | 0x9282: "r", 25 | 0x9482: "t", 26 | 0x9982: "y", 27 | 0x9582: "u", 28 | 0x8982: "i", 29 | 0x8F82: "o", 30 | 0x9082: "p", 31 | 0x8182: "a", 32 | 0x9382: "s", 33 | 0x8482: "d", 34 | 0x8682: "f", 35 | 0x8782: "g", 36 | 0x8882: "h", 37 | 0x8A82: "j", 38 | 0x8B82: "k", 39 | 0x8C82: "l", 40 | 0x9A82: "z", 41 | 0x9882: "x", 42 | 0x8382: "c", 43 | 0x9682: "v", 44 | 0x8282: "b", 45 | 0x8E82: "n", 46 | 0x8D82: "m", 47 | 0x4381: ",", 48 | 0x4481: ".", 49 | 0x7082: "Q", 50 | 0x7682: "W", 51 | 0x6482: "E", 52 | 0x7182: "R", 53 | 0x7382: "T", 54 | 0x7882: "Y", 55 | 0x7482: "U", 56 | 0x6882: "I", 57 | 0x6E82: "O", 58 | 0x6F82: "P", 59 | 0x6082: "A", 60 | 0x7282: "S", 61 | 0x6382: "D", 62 | 0x6582: "F", 63 | 0x6682: "G", 64 | 0x6782: "H", 65 | 0x6982: "J", 66 | 0x6A82: "K", 67 | 0x6B82: "L", 68 | 0x7982: "Z", 69 | 0x7782: "X", 70 | 0x6282: "C", 71 | 0x7582: "V", 72 | 0x6182: "B", 73 | 0x6D82: "N", 74 | 0x6C82: "M", 75 | 76 | 0xED82: "わ", 77 | 0xE782: "ら", 78 | 0xE282: "や", 79 | 0xDC82: "ま", 80 | 0xCD82: "は", 81 | 0xC882: "な", 82 | 0xBD82: "た", 83 | 0xB382: "さ", 84 | 0xA982: "か", 85 | 0xA082: "あ", 86 | 0xF082: "を", 87 | 0xE882: "り", 88 | 0xE482: "ゆ", 89 | 0xDD82: "み", 90 | 0xD082: "ひ", 91 | 0xC982: "に", 92 | 0xBF82: "ち", 93 | 0xB582: "し", 94 | 0xAB82: "き", 95 | 0xA282: "い", 96 | 0xF182: "ん", 97 | 0xE982: "る", 98 | 0xE682: "よ", 99 | 0xDE82: "む", 100 | 0xD382: "ふ", 101 | 0xCA82: "ぬ", 102 | 0xC282: "つ", 103 | 0xB782: "す", 104 | 0xAD82: "く", 105 | 0xA482: "う", 106 | 0x4181: "、", 107 | 0xEA82: "れ", 108 | 0x4981: "!", 109 | 0xDF82: "め", 110 | 0xD682: "へ", 111 | 0xCB82: "ね", 112 | 0xC482: "て", 113 | 0xB982: "せ", 114 | 0xAF82: "け", 115 | 0xA682: "え", 116 | 0x4281: "。", 117 | 0xEB82: "ろ", 118 | 0x4881: "?", 119 | 0xE082: "も", 120 | 0xD982: "ほ", 121 | 0xCC82: "の", 122 | 0xC682: "と", 123 | 0xBB82: "そ", 124 | 0xB182: "こ", 125 | 0xA882: "お", 126 | 0xCE82: "ば", 127 | 0xD182: "び", 128 | 0xD482: "ぶ", 129 | 0xD782: "べ", 130 | 0xDA82: "ぼ", 131 | 0xBE82: "だ", 132 | 0xC082: "ぢ", 133 | 0xC382: "づ", 134 | 0xC582: "で", 135 | 0xC782: "ど", 136 | 0xB482: "ざ", 137 | 0xB682: "じ", 138 | 0xB882: "ず", 139 | 0xBA82: "ぜ", 140 | 0xBC82: "ぞ", 141 | 0xAA82: "が", 142 | 0xAC82: "ぎ", 143 | 0xAE82: "ぐ", 144 | 0xB082: "げ", 145 | 0xB282: "ご", 146 | 0xCF82: "ぱ", 147 | 0xD282: "ぴ", 148 | 0xD582: "ぷ", 149 | 0xD882: "ぺ", 150 | 0xDB82: "ぽ", 151 | 152 | 0x8F83: "ワ", 153 | 0x8983: "ラ", 154 | 0x8483: "ヤ", 155 | 0x7D83: "マ", 156 | 0x6E83: "ハ", 157 | 0x6983: "ナ", 158 | 0x5E83: "タ", 159 | 0x5483: "サ", 160 | 0x4A83: "カ", 161 | 0x4183: "ア", 162 | 0x9283: "ヲ", 163 | 0x8A83: "リ", 164 | 0x8683: "ユ", 165 | 0x7E83: "ミ", 166 | 0x7183: "ヒ", 167 | 0x6A83: "ニ", 168 | 0x6083: "チ", 169 | 0x5683: "シ", 170 | 0x4C83: "キ", 171 | 0x4383: "イ", 172 | 0x9383: "ソ", 173 | 0x8B83: "ル", 174 | 0x8883: "ヨ", 175 | 0x8083: "ム", 176 | 0x7483: "フ", 177 | 0x6B83: "ヌ", 178 | 0x6383: "ツ", 179 | 0x5883: "ス", 180 | 0x4E83: "ク", 181 | 0x4583: "ウ", 182 | 0x8C83: "レ", 183 | 0x8183: "メ", 184 | 0x7783: "ヘ", 185 | 0x6C83: "ネ", 186 | 0x6583: "テ", 187 | 0x5A83: "セ", 188 | 0x5083: "ケ", 189 | 0x4783: "エ", 190 | 0x8D83: "ロ", 191 | 0x8283: "モ", 192 | 0x7A83: "ホ", 193 | 0x6D83: "ノ", 194 | 0x6783: "ト", 195 | 0x5C83: "ソ", 196 | 0x5283: "コ", 197 | 0x4983: "オ", 198 | 0x6F83: "バ", 199 | 0x7283: "ビ", 200 | 0x7583: "ブ", 201 | 0x7883: "ベ", 202 | 0x7B83: "ボ", 203 | 0x5F83: "ダ", 204 | 0x6183: "ヂ", 205 | 0x6483: "ヅ", 206 | 0x6683: "デ", 207 | 0x6883: "ド", 208 | 0x5583: "ザ", 209 | 0x5783: "ジ", 210 | 0x5983: "ズ", 211 | 0x5B83: "ゼ", 212 | 0x5D83: "ゾ", 213 | 0x4B83: "ガ", 214 | 0x4D83: "ギ", 215 | 0x4F83: "グ", 216 | 0x5183: "ゲ", 217 | 0x5383: "ゴ", 218 | 0x7083: "パ", 219 | 0x7383: "ピ", 220 | 0x7683: "プ", 221 | 0x7983: "ペ", 222 | 0x7C83: "ポ", 223 | 224 | 0x9981: "☆", 225 | 0x9A81: "★", 226 | 0x9B81: "○", 227 | 0x9C81: "●", 228 | 0x9D81: "⭗", 229 | 0x9E81: "◇", 230 | 0x9F81: "◆", 231 | 0xA181: "■", 232 | 0xA281: "△", 233 | 0xA481: "▽", 234 | 0xA081: "♡", 235 | 0xA581: "♥", 236 | 0xAA81: "⇈", 237 | 0xAB81: "⇊", 238 | 0x9581: "&", 239 | 0xF481: "𝅘𝅥𝅮", 240 | 0xF681: "⁉", 241 | 0x6181: "!!", 242 | 0x4981: "!", 243 | 0x4881: "?", 244 | 0x4F81: "^", 245 | 0x5E81: "╱", 246 | 0x5F81: "╲", 247 | 0x5B81: "-", 248 | 0x6081: "~", 249 | 0x6981: "(", 250 | 0x6A81: ")", 251 | 252 | 0x0000: " " 253 | } 254 | 255 | CODEBIN_BASE = 0x100000 256 | PASSWORDARR_BASE = 0x2AD680 - CODEBIN_BASE 257 | PASSWORDENTRY_SIZE = 0xC 258 | PASSWORD_COUNT = 71 259 | 260 | 261 | with open("code.bin", "rb") as f: 262 | f.seek(PASSWORDARR_BASE) 263 | for i in range(0, PASSWORDENTRY_SIZE * PASSWORD_COUNT, PASSWORDENTRY_SIZE): 264 | entry = struct.unpack("III", f.read(PASSWORDENTRY_SIZE)) 265 | prev = f.tell() 266 | f.seek(entry[1] - CODEBIN_BASE) 267 | pw_raw = struct.unpack("HHHHHH", f.read(12)) 268 | print(''.join([ DECODE_TABLE[x] for x in pw_raw ]), end="\n\n") 269 | f.seek(prev) -------------------------------------------------------------------------------- /AOC-Patching/libpatchaoc/source/save.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | Result DLC::SaveData::OpenExtDataArchive(u32 unique_id) 4 | { 5 | const u32 path[3] = { MEDIATYPE_SD, unique_id, 0 }; 6 | return FSUSER_OpenArchive(&this->Archive, ARCHIVE_EXTDATA, { PATH_BINARY, 12, path }); 7 | } 8 | 9 | Result DLC::SaveData::OpenSaveDataArchive(u32 unique_id) 10 | { 11 | const u32 path[3] = { MEDIATYPE_SD, unique_id, 0x00040000 }; 12 | return FSUSER_OpenArchive(&this->Archive, ARCHIVE_USER_SAVEDATA, { PATH_BINARY, 12, path }); 13 | } 14 | 15 | DLC::SaveData::SaveData(u32 unique_id, bool is_save, bool is_mc) 16 | { 17 | this->CurrentResult = (this->IsSave = is_save) ? 18 | this->OpenSaveDataArchive(unique_id) : 19 | this->OpenExtDataArchive(unique_id >> 8); 20 | this->IsClosed = false; 21 | this->IsMinecraft = is_mc; 22 | } 23 | 24 | DLC::SaveData::~SaveData() 25 | { 26 | if (!this->IsClosed) 27 | { 28 | if (R_FAILED(this->Close(true)) && this->CurrentResult == CANNOT_CLOSE_ARCHIVE_FILES_OPEN) 29 | { 30 | for (const Handle& handle : this->OpenFiles) 31 | this->CloseFile(handle); 32 | 33 | this->Close(true); 34 | } 35 | } 36 | } 37 | 38 | Result DLC::SaveData::OpenFile(Handle *out_handle, const char *path, u32 open_flags, u32 attributes) 39 | { 40 | if (this->IsClosed) 41 | return ARCHIVE_CLOSED; 42 | else if (!out_handle) 43 | return INVALID_POINTER; 44 | 45 | Handle file; 46 | 47 | char16_t filename[256]; 48 | 49 | utf8_to_utf16((u16 *)filename, (const uint8_t *)path, 256); 50 | 51 | if (R_FAILED(this->CurrentResult = FSUSER_OpenFile(&file, this->Archive, fsMakePath(PATH_UTF16, filename), open_flags, attributes))) 52 | return this->CurrentResult; 53 | 54 | this->OpenFiles.insert(file); 55 | *out_handle = file; 56 | return 0; 57 | } 58 | 59 | Result DLC::SaveData::ReadFileIntoBuffer(u8 *&out_buf, Handle file, u64 *out_size, bool close_file) 60 | { 61 | if (this->IsClosed) 62 | return ARCHIVE_CLOSED; 63 | else if (!file) 64 | return INVALID_HANDLE; 65 | else if (this->OpenFiles.find(file) == this->OpenFiles.end()) 66 | return FILE_NOT_FOUND; 67 | 68 | u64 size; 69 | u8 *buf = nullptr; 70 | 71 | if (!this->IsMinecraft) 72 | { 73 | if (R_FAILED(this->CurrentResult = FSFILE_GetSize(file, &size))) 74 | { 75 | Result res = this->CurrentResult; 76 | this->CloseFile(file); 77 | return res; 78 | } 79 | 80 | buf = new u8[size]; 81 | 82 | u32 cur_read; 83 | u64 remaining = size; 84 | u64 offset = 0; 85 | u32 to_read = remaining > 0x1000 ? 0x1000 : remaining; 86 | 87 | while (offset != size) 88 | { 89 | if (R_FAILED(this->CurrentResult = FSFILE_Read(file, &cur_read, offset, buf + (u32)offset, to_read))) 90 | { 91 | delete [] buf; 92 | Result res = this->CurrentResult; 93 | this->CloseFile(file); 94 | return cur_read != to_read ? INCOMPLETE_IO : res; 95 | } 96 | 97 | remaining -= to_read; 98 | offset += to_read; 99 | to_read = remaining > 0x1000 ? 0x1000 : remaining; 100 | } 101 | } 102 | else 103 | { 104 | // Minecraft: New Nintendo 3DS Edition works a bit differently. 105 | // You have to read the first u32 in the data first. This is the amount of data *after* the header 106 | // sizeof(u32) (which is 4) + data size (value of first u32) = max amount of data possible to read. 107 | u32 total_size = 0; 108 | u32 read; 109 | 110 | if (R_FAILED(this->CurrentResult = FSFILE_Read(file, &read, 0, (void *)&total_size, sizeof(u32)))) 111 | { 112 | Result res = this->CurrentResult; 113 | this->CloseFile(file); 114 | return read != sizeof(u32) ? INCOMPLETE_IO : res; 115 | } 116 | 117 | total_size += sizeof(u32); 118 | 119 | // Total size should never be more than 128KiB. 120 | if (total_size > 131072) 121 | { 122 | this->CloseFile(file); 123 | return INVALID_SAVE_SIZE; 124 | } 125 | 126 | buf = new u8[total_size]; 127 | 128 | if (R_FAILED(this->CurrentResult = FSFILE_Read(file, &read, 0, buf, total_size))) 129 | { 130 | Result res = this->CurrentResult; 131 | this->CloseFile(file); 132 | delete [] buf; 133 | return read != total_size ? INCOMPLETE_IO : res; 134 | } 135 | 136 | size = total_size; 137 | } 138 | 139 | if (close_file && R_FAILED(this->CloseFile(file))) 140 | { 141 | delete [] buf; 142 | return this->CurrentResult; 143 | } 144 | 145 | out_buf = buf; 146 | if (out_size) *out_size = size; 147 | return 0; 148 | } 149 | 150 | Result DLC::SaveData::ReadFileIntoBuffer(u8 *&out_buf, const char *path, u64 *out_size) 151 | { 152 | Handle file; 153 | 154 | if (R_FAILED(this->CurrentResult = this->OpenFile(&file, path, FS_OPEN_READ)) || 155 | R_FAILED(this->CurrentResult = this->ReadFileIntoBuffer(out_buf, file, out_size, true))) 156 | return this->CurrentResult; 157 | 158 | return 0; 159 | } 160 | 161 | Result DLC::SaveData::WriteFileFromBuffer(u8 *buf, Handle file, u32 size, bool close_file) 162 | { 163 | if (!buf) 164 | return INVALID_POINTER; 165 | else if (!file) 166 | return INVALID_HANDLE; 167 | else if (this->OpenFiles.find(file) == this->OpenFiles.end()) 168 | return FILE_NOT_FOUND; 169 | 170 | u32 written; 171 | 172 | if ((!this->IsMinecraft && R_FAILED(this->CurrentResult = FSFILE_SetSize(file, size))) || 173 | R_FAILED(this->CurrentResult = FSFILE_Write(file, &written, 0LL, buf, size, FS_WRITE_FLUSH)) || 174 | (close_file && R_FAILED(this->CurrentResult = this->CloseFile(file)))) 175 | return this->CurrentResult; 176 | 177 | if (written != size) 178 | return INCOMPLETE_IO; 179 | 180 | return 0; 181 | } 182 | 183 | Result DLC::SaveData::WriteFileFromBuffer(u8 *buf, const char *path, u32 size) 184 | { 185 | Handle file; 186 | 187 | if (R_FAILED(this->CurrentResult = this->OpenFile(&file, path, FS_OPEN_WRITE)) || 188 | R_FAILED(this->CurrentResult = this->WriteFileFromBuffer(buf, file, size, true))) 189 | return this->CurrentResult; 190 | 191 | return 0; 192 | } 193 | 194 | Result DLC::SaveData::CloseFile(Handle file) 195 | { 196 | if (!file) 197 | return INVALID_HANDLE; 198 | else if (this->OpenFiles.find(file) == this->OpenFiles.end()) 199 | return FILE_NOT_FOUND; 200 | 201 | if (R_FAILED(this->CurrentResult = FSFILE_Close(file))) 202 | return this->CurrentResult; 203 | 204 | this->OpenFiles.erase(file); 205 | return 0; 206 | } 207 | 208 | Result DLC::SaveData::Close(bool discard_changes) 209 | { 210 | if (this->IsClosed) 211 | return ARCHIVE_CLOSED; 212 | else if (this->OpenFiles.size() > 0) 213 | return CANNOT_CLOSE_ARCHIVE_FILES_OPEN; 214 | 215 | if ((this->IsSave && !discard_changes && R_FAILED(this->CurrentResult = FSUSER_ControlArchive(this->Archive, ARCHIVE_ACTION_COMMIT_SAVE_DATA, nullptr, 0, nullptr, 0))) || 216 | R_FAILED(this->CurrentResult = FSUSER_CloseArchive(this->Archive))) 217 | return this->CurrentResult; 218 | 219 | this->IsClosed = true; 220 | return 0; 221 | } -------------------------------------------------------------------------------- /Password-Cracking/Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken/README.md: -------------------------------------------------------------------------------- 1 | # Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken 2 | 3 | All in-game QR codes for use in the settings menu of Taiko no Tatsujin - Don to Katsu no Jikuu Daibouken (0004000000102F00) (JP). 4 | 5 | # QR Code #1 6 | 7 | QR Data: Taiko_3ds_2_QR_0001010101 8 | 9 | QR Code: 10 | 11 | 12 | ![Image](./qrs/1.png) 13 | 14 | 15 | # QR Code #2 16 | 17 | QR Data: Taiko_3ds_2_QR_0001010301 18 | 19 | QR Code: 20 | 21 | 22 | ![Image](./qrs/2.png) 23 | 24 | 25 | # QR Code #3 26 | 27 | QR Data: Taiko_3ds_2_QR_0001010401 28 | 29 | QR Code: 30 | 31 | 32 | ![Image](./qrs/3.png) 33 | 34 | 35 | # QR Code #4 36 | 37 | QR Data: Taiko_3ds_2_QR_0001011001 38 | 39 | QR Code: 40 | 41 | 42 | ![Image](./qrs/4.png) 43 | 44 | 45 | # QR Code #5 46 | 47 | QR Data: Taiko_3ds_2_QR_0001011002 48 | 49 | QR Code: 50 | 51 | 52 | ![Image](./qrs/5.png) 53 | 54 | 55 | # QR Code #6 56 | 57 | QR Data: Taiko_3ds_2_QR_0001021001 58 | 59 | QR Code: 60 | 61 | 62 | ![Image](./qrs/6.png) 63 | 64 | 65 | # QR Code #7 66 | 67 | QR Data: Taiko_3ds_2_QR_0001021002 68 | 69 | QR Code: 70 | 71 | 72 | ![Image](./qrs/7.png) 73 | 74 | 75 | # QR Code #8 76 | 77 | QR Data: Taiko_3ds_2_QR_0001030101 78 | 79 | QR Code: 80 | 81 | 82 | ![Image](./qrs/8.png) 83 | 84 | 85 | # QR Code #9 86 | 87 | QR Data: Taiko_3ds_2_QR_0001030102 88 | 89 | QR Code: 90 | 91 | 92 | ![Image](./qrs/9.png) 93 | 94 | 95 | # QR Code #10 96 | 97 | QR Data: Taiko_3ds_2_QR_0001040101 98 | 99 | QR Code: 100 | 101 | 102 | ![Image](./qrs/10.png) 103 | 104 | 105 | # QR Code #11 106 | 107 | QR Data: Taiko_3ds_2_QR_0001050101 108 | 109 | QR Code: 110 | 111 | 112 | ![Image](./qrs/11.png) 113 | 114 | 115 | # QR Code #12 116 | 117 | QR Data: Taiko_3ds_2_QR_0001060101 118 | 119 | QR Code: 120 | 121 | 122 | ![Image](./qrs/12.png) 123 | 124 | 125 | # QR Code #13 126 | 127 | QR Data: Taiko_3ds_2_QR_0001061001 128 | 129 | QR Code: 130 | 131 | 132 | ![Image](./qrs/13.png) 133 | 134 | 135 | # QR Code #14 136 | 137 | QR Data: Taiko_3ds_2_QR_0001070101 138 | 139 | QR Code: 140 | 141 | 142 | ![Image](./qrs/14.png) 143 | 144 | 145 | # QR Code #15 146 | 147 | QR Data: Taiko_3ds_2_QR_0001071001 148 | 149 | QR Code: 150 | 151 | 152 | ![Image](./qrs/15.png) 153 | 154 | 155 | # QR Code #16 156 | 157 | QR Data: Taiko_3ds_2_QR_0001080101 158 | 159 | QR Code: 160 | 161 | 162 | ![Image](./qrs/16.png) 163 | 164 | 165 | # QR Code #17 166 | 167 | QR Data: Taiko_3ds_2_QR_0001090101 168 | 169 | QR Code: 170 | 171 | 172 | ![Image](./qrs/17.png) 173 | 174 | 175 | # QR Code #18 176 | 177 | QR Data: Taiko_3ds_2_QR_0002101001 178 | 179 | QR Code: 180 | 181 | 182 | ![Image](./qrs/18.png) 183 | 184 | 185 | # QR Code #19 186 | 187 | QR Data: Taiko_3ds_2_QR_0002101002 188 | 189 | QR Code: 190 | 191 | 192 | ![Image](./qrs/19.png) 193 | 194 | 195 | # QR Code #20 196 | 197 | QR Data: Taiko_3ds_2_QR_0003110201 198 | 199 | QR Code: 200 | 201 | 202 | ![Image](./qrs/20.png) 203 | 204 | 205 | # QR Code #21 206 | 207 | QR Data: Taiko_3ds_2_QR_0003110202 208 | 209 | QR Code: 210 | 211 | 212 | ![Image](./qrs/21.png) 213 | 214 | 215 | # QR Code #22 216 | 217 | QR Data: Taiko_3ds_2_QR_0003121001 218 | 219 | QR Code: 220 | 221 | 222 | ![Image](./qrs/22.png) 223 | 224 | 225 | # QR Code #23 226 | 227 | QR Data: Taiko_3ds_2_QR_0003121002 228 | 229 | QR Code: 230 | 231 | 232 | ![Image](./qrs/23.png) 233 | 234 | 235 | # QR Code #24 236 | 237 | QR Data: Taiko_3ds_2_QR_0003121003 238 | 239 | QR Code: 240 | 241 | 242 | ![Image](./qrs/24.png) 243 | 244 | 245 | # QR Code #25 246 | 247 | QR Data: Taiko_3ds_2_QR_0003121004 248 | 249 | QR Code: 250 | 251 | 252 | ![Image](./qrs/25.png) 253 | 254 | 255 | # QR Code #26 256 | 257 | QR Data: Taiko_3ds_2_QR_0003121005 258 | 259 | QR Code: 260 | 261 | 262 | ![Image](./qrs/26.png) 263 | 264 | 265 | # QR Code #27 266 | 267 | QR Data: Taiko_3ds_2_QR_0003121006 268 | 269 | QR Code: 270 | 271 | 272 | ![Image](./qrs/27.png) 273 | 274 | 275 | # QR Code #28 276 | 277 | QR Data: Taiko_3ds_2_QR_0004131001 278 | 279 | QR Code: 280 | 281 | 282 | ![Image](./qrs/28.png) 283 | 284 | 285 | # QR Code #29 286 | 287 | QR Data: Taiko_3ds_2_QR_0004141001 288 | 289 | QR Code: 290 | 291 | 292 | ![Image](./qrs/29.png) 293 | 294 | 295 | # QR Code #30 296 | 297 | QR Data: Taiko_3ds_2_QR_0004151001 298 | 299 | QR Code: 300 | 301 | 302 | ![Image](./qrs/30.png) 303 | 304 | 305 | # QR Code #31 306 | 307 | QR Data: Taiko_3ds_2_QR_0005201020 308 | 309 | QR Code: 310 | 311 | 312 | ![Image](./qrs/31.png) 313 | 314 | 315 | # QR Code #32 316 | 317 | QR Data: Taiko_3ds_2_QR_0005211021 318 | 319 | QR Code: 320 | 321 | 322 | ![Image](./qrs/32.png) 323 | 324 | 325 | # QR Code #33 326 | 327 | QR Data: Taiko_3ds_2_QR_0005221022 328 | 329 | QR Code: 330 | 331 | 332 | ![Image](./qrs/33.png) 333 | 334 | 335 | # QR Code #34 336 | 337 | QR Data: Taiko_3ds_2_QR_0005231023 338 | 339 | QR Code: 340 | 341 | 342 | ![Image](./qrs/34.png) 343 | 344 | 345 | # QR Code #35 346 | 347 | QR Data: Taiko_3ds_2_QR_0005241024 348 | 349 | QR Code: 350 | 351 | 352 | ![Image](./qrs/35.png) 353 | 354 | 355 | # QR Code #36 356 | 357 | QR Data: Taiko_3ds_2_QR_0005251025 358 | 359 | QR Code: 360 | 361 | 362 | ![Image](./qrs/36.png) 363 | 364 | 365 | # QR Code #37 366 | 367 | QR Data: Taiko_3ds_2_QR_0005261026 368 | 369 | QR Code: 370 | 371 | 372 | ![Image](./qrs/37.png) 373 | 374 | 375 | # QR Code #38 376 | 377 | QR Data: Taiko_3ds_2_QR_0005271027 378 | 379 | QR Code: 380 | 381 | 382 | ![Image](./qrs/38.png) 383 | 384 | 385 | # QR Code #39 386 | 387 | QR Data: Taiko_3ds_2_QR_0005281028 388 | 389 | QR Code: 390 | 391 | 392 | ![Image](./qrs/39.png) 393 | 394 | 395 | # QR Code #40 396 | 397 | QR Data: Taiko_3ds_2_QR_0005291029 398 | 399 | QR Code: 400 | 401 | 402 | ![Image](./qrs/40.png) 403 | 404 | 405 | # QR Code #41 406 | 407 | QR Data: Taiko_3ds_2_QR_0005301030 408 | 409 | QR Code: 410 | 411 | 412 | ![Image](./qrs/41.png) 413 | 414 | 415 | # QR Code #42 416 | 417 | QR Data: Taiko_3ds_2_QR_0005311031 418 | 419 | QR Code: 420 | 421 | 422 | ![Image](./qrs/42.png) 423 | 424 | 425 | # QR Code #43 426 | 427 | QR Data: Taiko_3ds_2_QR_0005321032 428 | 429 | QR Code: 430 | 431 | 432 | ![Image](./qrs/43.png) 433 | 434 | 435 | # QR Code #44 436 | 437 | QR Data: Taiko_3ds_2_QR_0005331033 438 | 439 | QR Code: 440 | 441 | 442 | ![Image](./qrs/44.png) 443 | 444 | 445 | # QR Code #45 446 | 447 | QR Data: Taiko_3ds_2_QR_0005341034 448 | 449 | QR Code: 450 | 451 | 452 | ![Image](./qrs/45.png) 453 | 454 | 455 | # QR Code #46 456 | 457 | QR Data: Taiko_3ds_2_QR_0005351035 458 | 459 | QR Code: 460 | 461 | 462 | ![Image](./qrs/46.png) 463 | 464 | 465 | # QR Code #47 466 | 467 | QR Data: Taiko_3ds_2_QR_0005361036 468 | 469 | QR Code: 470 | 471 | 472 | ![Image](./qrs/47.png) 473 | 474 | 475 | # QR Code #48 476 | 477 | QR Data: Taiko_3ds_2_QR_0005371037 478 | 479 | QR Code: 480 | 481 | 482 | ![Image](./qrs/48.png) 483 | 484 | 485 | # QR Code #49 486 | 487 | QR Data: Taiko_3ds_2_QR_0005381038 488 | 489 | QR Code: 490 | 491 | 492 | ![Image](./qrs/49.png) 493 | 494 | 495 | # QR Code #50 496 | 497 | QR Data: Taiko_3ds_2_QR_0005391039 498 | 499 | QR Code: 500 | 501 | 502 | ![Image](./qrs/50.png) 503 | 504 | 505 | # QR Code #51 506 | 507 | QR Data: Taiko_3ds_2_QR_0006000000 508 | 509 | QR Code: 510 | 511 | 512 | ![Image](./qrs/51.png) 513 | 514 | 515 | -------------------------------------------------------------------------------- /AOC-Patching/mclc/cia_res/rsf.rsf: -------------------------------------------------------------------------------- 1 | BasicInfo: 2 | Title : mclc 3 | ProductCode : CAP-MCLC 4 | Logo : Licensed 5 | 6 | RomFs: 7 | RootPath: $(APP_ROMFS) 8 | 9 | TitleInfo: 10 | Category : Application 11 | UniqueId : 0xA0C2 12 | 13 | Option: 14 | UseOnSD : true # true if App is to be installed to SD 15 | FreeProductCode : true # Removes limitations on ProductCode 16 | MediaFootPadding : false # If true CCI files are created with padding 17 | EnableCrypt : false # Enables encryption for NCCH and CIA 18 | EnableCompress : false # Compresses where applicable (currently only exefs:/.code) 19 | 20 | AccessControlInfo: 21 | CoreVersion : 2 22 | 23 | # Exheader Format Version 24 | DescVersion : 2 25 | 26 | # Minimum Required Kernel Version (below is for 4.5.0) 27 | ReleaseKernelMajor : "02" 28 | ReleaseKernelMinor : "33" 29 | 30 | # ExtData 31 | UseExtSaveData : false # enables ExtData 32 | #ExtSaveDataId : 0x300 # only set this when the ID is different to the UniqueId 33 | 34 | # FS:USER Archive Access Permissions 35 | # Uncomment as required 36 | FileSystemAccess: 37 | - CategorySystemApplication 38 | - CategoryHardwareCheck 39 | - CategoryFileSystemTool 40 | - Debug 41 | - TwlCardBackup 42 | - TwlNandData 43 | - Boss 44 | - DirectSdmc 45 | - Core 46 | - CtrNandRo 47 | - CtrNandRw 48 | - CtrNandRoWrite 49 | - CategorySystemSettings 50 | - CardBoard 51 | - ExportImportIvs 52 | - DirectSdmcWrite 53 | - SwitchCleanup 54 | - SaveDataMove 55 | - Shop 56 | - Shell 57 | - CategoryHomeMenu 58 | - SeedDB 59 | IoAccessControl: 60 | - FsMountNand 61 | - FsMountNandRoWrite 62 | - FsMountTwln 63 | - FsMountWnand 64 | - FsMountCardSpi 65 | - UseSdif3 66 | - CreateSeed 67 | - UseCardSpi 68 | 69 | # Process Settings 70 | MemoryType : Application # Application/System/Base 71 | SystemMode : 64MB # 64MB(Default)/96MB/80MB/72MB/32MB 72 | IdealProcessor : 0 73 | AffinityMask : 1 74 | Priority : 16 75 | MaxCpu : 0x9E # Default 76 | HandleTableSize : 0x200 77 | DisableDebug : false 78 | EnableForceDebug : false 79 | CanWriteSharedPage : true 80 | CanUsePrivilegedPriority : false 81 | CanUseNonAlphabetAndNumber : true 82 | PermitMainFunctionArgument : true 83 | CanShareDeviceMemory : true 84 | RunnableOnSleep : false 85 | SpecialMemoryArrange : true 86 | 87 | # New3DS Exclusive Process Settings 88 | SystemModeExt : Legacy # Legacy(Default)/124MB/178MB Legacy:Use Old3DS SystemMode 89 | CpuSpeed : 268MHz # 268MHz(Default)/804MHz 90 | EnableL2Cache : false # false(default)/true 91 | CanAccessCore2 : true 92 | 93 | # Virtual Address Mappings 94 | IORegisterMapping: 95 | - 1ff00000-1ff7ffff # DSP memory 96 | MemoryMapping: 97 | - 1f000000-1f5fffff:r # VRAM 98 | 99 | # Accessible SVCs, : 100 | SystemCallAccess: 101 | ControlMemory: 1 102 | QueryMemory: 2 103 | ExitProcess: 3 104 | GetProcessAffinityMask: 4 105 | SetProcessAffinityMask: 5 106 | GetProcessIdealProcessor: 6 107 | SetProcessIdealProcessor: 7 108 | CreateThread: 8 109 | ExitThread: 9 110 | SleepThread: 10 111 | GetThreadPriority: 11 112 | SetThreadPriority: 12 113 | GetThreadAffinityMask: 13 114 | SetThreadAffinityMask: 14 115 | GetThreadIdealProcessor: 15 116 | SetThreadIdealProcessor: 16 117 | GetCurrentProcessorNumber: 17 118 | Run: 18 119 | CreateMutex: 19 120 | ReleaseMutex: 20 121 | CreateSemaphore: 21 122 | ReleaseSemaphore: 22 123 | CreateEvent: 23 124 | SignalEvent: 24 125 | ClearEvent: 25 126 | CreateTimer: 26 127 | SetTimer: 27 128 | CancelTimer: 28 129 | ClearTimer: 29 130 | CreateMemoryBlock: 30 131 | MapMemoryBlock: 31 132 | UnmapMemoryBlock: 32 133 | CreateAddressArbiter: 33 134 | ArbitrateAddress: 34 135 | CloseHandle: 35 136 | WaitSynchronization1: 36 137 | WaitSynchronizationN: 37 138 | SignalAndWait: 38 139 | DuplicateHandle: 39 140 | GetSystemTick: 40 141 | GetHandleInfo: 41 142 | GetSystemInfo: 42 143 | GetProcessInfo: 43 144 | GetThreadInfo: 44 145 | ConnectToPort: 45 146 | SendSyncRequest1: 46 147 | SendSyncRequest2: 47 148 | SendSyncRequest3: 48 149 | SendSyncRequest4: 49 150 | SendSyncRequest: 50 151 | OpenProcess: 51 152 | OpenThread: 52 153 | GetProcessId: 53 154 | GetProcessIdOfThread: 54 155 | GetThreadId: 55 156 | GetResourceLimit: 56 157 | GetResourceLimitLimitValues: 57 158 | GetResourceLimitCurrentValues: 58 159 | GetThreadContext: 59 160 | Break: 60 161 | OutputDebugString: 61 162 | ControlPerformanceCounter: 62 163 | CreatePort: 71 164 | CreateSessionToPort: 72 165 | CreateSession: 73 166 | AcceptSession: 74 167 | ReplyAndReceive1: 75 168 | ReplyAndReceive2: 76 169 | ReplyAndReceive3: 77 170 | ReplyAndReceive4: 78 171 | ReplyAndReceive: 79 172 | BindInterrupt: 80 173 | UnbindInterrupt: 81 174 | InvalidateProcessDataCache: 82 175 | StoreProcessDataCache: 83 176 | FlushProcessDataCache: 84 177 | StartInterProcessDma: 85 178 | StopDma: 86 179 | GetDmaState: 87 180 | RestartDma: 88 181 | DebugActiveProcess: 96 182 | BreakDebugProcess: 97 183 | TerminateDebugProcess: 98 184 | GetProcessDebugEvent: 99 185 | ContinueDebugEvent: 100 186 | GetProcessList: 101 187 | GetThreadList: 102 188 | GetDebugThreadContext: 103 189 | SetDebugThreadContext: 104 190 | QueryDebugProcessMemory: 105 191 | ReadProcessMemory: 106 192 | WriteProcessMemory: 107 193 | SetHardwareBreakPoint: 108 194 | GetDebugThreadParam: 109 195 | ControlProcessMemory: 112 196 | MapProcessMemory: 113 197 | UnmapProcessMemory: 114 198 | CreateCodeSet: 115 199 | CreateProcess: 117 200 | TerminateProcess: 118 201 | SetProcessResourceLimits: 119 202 | CreateResourceLimit: 120 203 | SetResourceLimitValues: 121 204 | AddCodeSegment: 122 205 | Backdoor: 123 206 | KernelSetState: 124 207 | QueryProcessMemory: 125 208 | 209 | # Service List 210 | # Maximum 34 services (32 if firmware is prior to 9.6.0) 211 | ServiceAccessControl: 212 | - APT:U 213 | - ac:u 214 | - am:net 215 | - boss:U 216 | - cam:u 217 | - cecd:u 218 | - cfg:nor 219 | - cfg:u 220 | - csnd:SND 221 | - dsp::DSP 222 | - frd:u 223 | - fs:USER 224 | - gsp::Gpu 225 | - gsp::Lcd 226 | - hid:USER 227 | - http:C 228 | - ir:rst 229 | - ir:u 230 | - ir:USER 231 | - mic:u 232 | - mcu::HWC 233 | - ndm:u 234 | - news:s 235 | - nwm::EXT 236 | - nwm::UDS 237 | - ptm:sysm 238 | - ptm:u 239 | - pxi:dev 240 | - soc:U 241 | - ssl:C 242 | - y2r:u 243 | 244 | 245 | SystemControlInfo: 246 | SaveDataSize: 0KB # Change if the app uses savedata 247 | RemasterVersion: 0 248 | StackSize: 0x40000 249 | 250 | # Modules that run services listed above should be included below 251 | # Maximum 48 dependencies 252 | # : 253 | Dependency: 254 | ac: 0x0004013000002402 255 | #act: 0x0004013000003802 256 | am: 0x0004013000001502 257 | boss: 0x0004013000003402 258 | camera: 0x0004013000001602 259 | cecd: 0x0004013000002602 260 | cfg: 0x0004013000001702 261 | codec: 0x0004013000001802 262 | csnd: 0x0004013000002702 263 | dlp: 0x0004013000002802 264 | dsp: 0x0004013000001a02 265 | friends: 0x0004013000003202 266 | gpio: 0x0004013000001b02 267 | gsp: 0x0004013000001c02 268 | hid: 0x0004013000001d02 269 | http: 0x0004013000002902 270 | i2c: 0x0004013000001e02 271 | ir: 0x0004013000003302 272 | mcu: 0x0004013000001f02 273 | mic: 0x0004013000002002 274 | ndm: 0x0004013000002b02 275 | news: 0x0004013000003502 276 | #nfc: 0x0004013000004002 277 | nim: 0x0004013000002c02 278 | nwm: 0x0004013000002d02 279 | pdn: 0x0004013000002102 280 | ps: 0x0004013000003102 281 | ptm: 0x0004013000002202 282 | #qtm: 0x0004013020004202 283 | ro: 0x0004013000003702 284 | socket: 0x0004013000002e02 285 | spi: 0x0004013000002302 286 | ssl: 0x0004013000002f02 287 | -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/cia_res/rsf.rsf: -------------------------------------------------------------------------------- 1 | BasicInfo: 2 | Title : realdlc 3 | ProductCode : CAP-REAL-DEALC 4 | Logo : Licensed 5 | 6 | RomFs: 7 | RootPath: $(APP_ROMFS) 8 | 9 | TitleInfo: 10 | Category : Application 11 | UniqueId : 0xA0C1 12 | 13 | Option: 14 | UseOnSD : true # true if App is to be installed to SD 15 | FreeProductCode : true # Removes limitations on ProductCode 16 | MediaFootPadding : false # If true CCI files are created with padding 17 | EnableCrypt : false # Enables encryption for NCCH and CIA 18 | EnableCompress : false # Compresses where applicable (currently only exefs:/.code) 19 | 20 | AccessControlInfo: 21 | CoreVersion : 2 22 | 23 | # Exheader Format Version 24 | DescVersion : 2 25 | 26 | # Minimum Required Kernel Version (below is for 4.5.0) 27 | ReleaseKernelMajor : "02" 28 | ReleaseKernelMinor : "33" 29 | 30 | # ExtData 31 | UseExtSaveData : false # enables ExtData 32 | #ExtSaveDataId : 0x300 # only set this when the ID is different to the UniqueId 33 | 34 | # FS:USER Archive Access Permissions 35 | # Uncomment as required 36 | FileSystemAccess: 37 | - CategorySystemApplication 38 | - CategoryHardwareCheck 39 | - CategoryFileSystemTool 40 | - Debug 41 | - TwlCardBackup 42 | - TwlNandData 43 | - Boss 44 | - DirectSdmc 45 | - Core 46 | - CtrNandRo 47 | - CtrNandRw 48 | - CtrNandRoWrite 49 | - CategorySystemSettings 50 | - CardBoard 51 | - ExportImportIvs 52 | - DirectSdmcWrite 53 | - SwitchCleanup 54 | - SaveDataMove 55 | - Shop 56 | - Shell 57 | - CategoryHomeMenu 58 | - SeedDB 59 | IoAccessControl: 60 | - FsMountNand 61 | - FsMountNandRoWrite 62 | - FsMountTwln 63 | - FsMountWnand 64 | - FsMountCardSpi 65 | - UseSdif3 66 | - CreateSeed 67 | - UseCardSpi 68 | 69 | # Process Settings 70 | MemoryType : Application # Application/System/Base 71 | SystemMode : 64MB # 64MB(Default)/96MB/80MB/72MB/32MB 72 | IdealProcessor : 0 73 | AffinityMask : 1 74 | Priority : 16 75 | MaxCpu : 0x9E # Default 76 | HandleTableSize : 0x200 77 | DisableDebug : false 78 | EnableForceDebug : false 79 | CanWriteSharedPage : true 80 | CanUsePrivilegedPriority : false 81 | CanUseNonAlphabetAndNumber : true 82 | PermitMainFunctionArgument : true 83 | CanShareDeviceMemory : true 84 | RunnableOnSleep : false 85 | SpecialMemoryArrange : true 86 | 87 | # New3DS Exclusive Process Settings 88 | SystemModeExt : Legacy # Legacy(Default)/124MB/178MB Legacy:Use Old3DS SystemMode 89 | CpuSpeed : 268MHz # 268MHz(Default)/804MHz 90 | EnableL2Cache : false # false(default)/true 91 | CanAccessCore2 : true 92 | 93 | # Virtual Address Mappings 94 | IORegisterMapping: 95 | - 1ff00000-1ff7ffff # DSP memory 96 | MemoryMapping: 97 | - 1f000000-1f5fffff:r # VRAM 98 | 99 | # Accessible SVCs, : 100 | SystemCallAccess: 101 | ControlMemory: 1 102 | QueryMemory: 2 103 | ExitProcess: 3 104 | GetProcessAffinityMask: 4 105 | SetProcessAffinityMask: 5 106 | GetProcessIdealProcessor: 6 107 | SetProcessIdealProcessor: 7 108 | CreateThread: 8 109 | ExitThread: 9 110 | SleepThread: 10 111 | GetThreadPriority: 11 112 | SetThreadPriority: 12 113 | GetThreadAffinityMask: 13 114 | SetThreadAffinityMask: 14 115 | GetThreadIdealProcessor: 15 116 | SetThreadIdealProcessor: 16 117 | GetCurrentProcessorNumber: 17 118 | Run: 18 119 | CreateMutex: 19 120 | ReleaseMutex: 20 121 | CreateSemaphore: 21 122 | ReleaseSemaphore: 22 123 | CreateEvent: 23 124 | SignalEvent: 24 125 | ClearEvent: 25 126 | CreateTimer: 26 127 | SetTimer: 27 128 | CancelTimer: 28 129 | ClearTimer: 29 130 | CreateMemoryBlock: 30 131 | MapMemoryBlock: 31 132 | UnmapMemoryBlock: 32 133 | CreateAddressArbiter: 33 134 | ArbitrateAddress: 34 135 | CloseHandle: 35 136 | WaitSynchronization1: 36 137 | WaitSynchronizationN: 37 138 | SignalAndWait: 38 139 | DuplicateHandle: 39 140 | GetSystemTick: 40 141 | GetHandleInfo: 41 142 | GetSystemInfo: 42 143 | GetProcessInfo: 43 144 | GetThreadInfo: 44 145 | ConnectToPort: 45 146 | SendSyncRequest1: 46 147 | SendSyncRequest2: 47 148 | SendSyncRequest3: 48 149 | SendSyncRequest4: 49 150 | SendSyncRequest: 50 151 | OpenProcess: 51 152 | OpenThread: 52 153 | GetProcessId: 53 154 | GetProcessIdOfThread: 54 155 | GetThreadId: 55 156 | GetResourceLimit: 56 157 | GetResourceLimitLimitValues: 57 158 | GetResourceLimitCurrentValues: 58 159 | GetThreadContext: 59 160 | Break: 60 161 | OutputDebugString: 61 162 | ControlPerformanceCounter: 62 163 | CreatePort: 71 164 | CreateSessionToPort: 72 165 | CreateSession: 73 166 | AcceptSession: 74 167 | ReplyAndReceive1: 75 168 | ReplyAndReceive2: 76 169 | ReplyAndReceive3: 77 170 | ReplyAndReceive4: 78 171 | ReplyAndReceive: 79 172 | BindInterrupt: 80 173 | UnbindInterrupt: 81 174 | InvalidateProcessDataCache: 82 175 | StoreProcessDataCache: 83 176 | FlushProcessDataCache: 84 177 | StartInterProcessDma: 85 178 | StopDma: 86 179 | GetDmaState: 87 180 | RestartDma: 88 181 | DebugActiveProcess: 96 182 | BreakDebugProcess: 97 183 | TerminateDebugProcess: 98 184 | GetProcessDebugEvent: 99 185 | ContinueDebugEvent: 100 186 | GetProcessList: 101 187 | GetThreadList: 102 188 | GetDebugThreadContext: 103 189 | SetDebugThreadContext: 104 190 | QueryDebugProcessMemory: 105 191 | ReadProcessMemory: 106 192 | WriteProcessMemory: 107 193 | SetHardwareBreakPoint: 108 194 | GetDebugThreadParam: 109 195 | ControlProcessMemory: 112 196 | MapProcessMemory: 113 197 | UnmapProcessMemory: 114 198 | CreateCodeSet: 115 199 | CreateProcess: 117 200 | TerminateProcess: 118 201 | SetProcessResourceLimits: 119 202 | CreateResourceLimit: 120 203 | SetResourceLimitValues: 121 204 | AddCodeSegment: 122 205 | Backdoor: 123 206 | KernelSetState: 124 207 | QueryProcessMemory: 125 208 | 209 | # Service List 210 | # Maximum 34 services (32 if firmware is prior to 9.6.0) 211 | ServiceAccessControl: 212 | - APT:U 213 | - ac:u 214 | - am:net 215 | - boss:U 216 | - cam:u 217 | - cecd:u 218 | - cfg:nor 219 | - cfg:u 220 | - csnd:SND 221 | - dsp::DSP 222 | - frd:u 223 | - fs:USER 224 | - gsp::Gpu 225 | - gsp::Lcd 226 | - hid:USER 227 | - http:C 228 | - ir:rst 229 | - ir:u 230 | - ir:USER 231 | - mic:u 232 | - mcu::HWC 233 | - ndm:u 234 | - news:s 235 | - nwm::EXT 236 | - nwm::UDS 237 | - ptm:sysm 238 | - ptm:u 239 | - pxi:dev 240 | - soc:U 241 | - ssl:C 242 | - y2r:u 243 | 244 | 245 | SystemControlInfo: 246 | SaveDataSize: 0KB # Change if the app uses savedata 247 | RemasterVersion: 1024 248 | StackSize: 0x40000 249 | 250 | # Modules that run services listed above should be included below 251 | # Maximum 48 dependencies 252 | # : 253 | Dependency: 254 | ac: 0x0004013000002402 255 | #act: 0x0004013000003802 256 | am: 0x0004013000001502 257 | boss: 0x0004013000003402 258 | camera: 0x0004013000001602 259 | cecd: 0x0004013000002602 260 | cfg: 0x0004013000001702 261 | codec: 0x0004013000001802 262 | csnd: 0x0004013000002702 263 | dlp: 0x0004013000002802 264 | dsp: 0x0004013000001a02 265 | friends: 0x0004013000003202 266 | gpio: 0x0004013000001b02 267 | gsp: 0x0004013000001c02 268 | hid: 0x0004013000001d02 269 | http: 0x0004013000002902 270 | i2c: 0x0004013000001e02 271 | ir: 0x0004013000003302 272 | mcu: 0x0004013000001f02 273 | mic: 0x0004013000002002 274 | ndm: 0x0004013000002b02 275 | news: 0x0004013000003502 276 | #nfc: 0x0004013000004002 277 | nim: 0x0004013000002c02 278 | nwm: 0x0004013000002d02 279 | pdn: 0x0004013000002102 280 | ps: 0x0004013000003102 281 | ptm: 0x0004013000002202 282 | #qtm: 0x0004013020004202 283 | ro: 0x0004013000003702 284 | socket: 0x0004013000002e02 285 | spi: 0x0004013000002302 286 | ssl: 0x0004013000002f02 287 | -------------------------------------------------------------------------------- /AOC-Patching/mclc/Makefile: -------------------------------------------------------------------------------- 1 | #--------------------------------------------------------------------------------- 2 | .SUFFIXES: 3 | #--------------------------------------------------------------------------------- 4 | 5 | ifeq ($(strip $(DEVKITARM)),) 6 | $(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") 7 | endif 8 | 9 | TOPDIR ?= $(CURDIR) 10 | include $(DEVKITARM)/3ds_rules 11 | 12 | %.o: %.cc 13 | $(SILENTMSG) $(notdir $<) 14 | $(SILENTCMD)$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) 15 | 16 | #--------------------------------------------------------------------------------- 17 | # TARGET is the name of the output 18 | # BUILD is the directory where object files & intermediate files will be placed 19 | # SOURCES is a list of directories containing source code 20 | # DATA is a list of directories containing data files 21 | # INCLUDES is a list of directories containing header files 22 | # GRAPHICS is a list of directories containing graphics files 23 | # GFXBUILD is the directory where converted graphics files will be placed 24 | # If set to $(BUILD), it will statically link in the converted 25 | # files as if they were data files. 26 | # 27 | # NO_SMDH: if set to anything, no SMDH file is generated. 28 | # ROMFS is the directory which contains the RomFS, relative to the Makefile (Optional) 29 | # APP_TITLE is the name of the app stored in the SMDH file (Optional) 30 | # APP_DESCRIPTION is the description of the app stored in the SMDH file (Optional) 31 | # APP_AUTHOR is the author of the app stored in the SMDH file (Optional) 32 | # ICON is the filename of the icon (.png), relative to the project folder. 33 | # If not set, it attempts to use one of the following (in this order): 34 | # - .png 35 | # - icon.png 36 | # - /default_icon.png 37 | #--------------------------------------------------------------------------------- 38 | TARGET := $(notdir $(CURDIR)) 39 | BUILD := build 40 | SOURCES := source ../libpatchaoc/source 41 | DATA := data 42 | INCLUDES := include ../libpatchaoc/include 43 | GRAPHICS := gfx 44 | GFXBUILD := $(BUILD) 45 | #ROMFS := romfs 46 | #GFXBUILD := $(ROMFS)/gfx 47 | 48 | #--------------------------------------------------------------------------------- 49 | # options for code generation 50 | #--------------------------------------------------------------------------------- 51 | ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft 52 | 53 | CFLAGS := -g -Wall -mword-relocations \ 54 | -ffunction-sections \ 55 | $(ARCH) 56 | 57 | CFLAGS += $(INCLUDE) -D__3DS__ 58 | 59 | CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 60 | 61 | ASFLAGS := -g $(ARCH) 62 | LDFLAGS = -specs=3dsx.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) 63 | 64 | LIBS := -lctru -lm 65 | 66 | #--------------------------------------------------------------------------------- 67 | # list of directories containing libraries, this must be the top level containing 68 | # include and lib 69 | #--------------------------------------------------------------------------------- 70 | LIBDIRS := $(CTRULIB) 71 | 72 | 73 | #--------------------------------------------------------------------------------- 74 | # no real need to edit anything past this point unless you need to add additional 75 | # rules for different file extensions 76 | #--------------------------------------------------------------------------------- 77 | ifneq ($(BUILD),$(notdir $(CURDIR))) 78 | #--------------------------------------------------------------------------------- 79 | 80 | export OUTPUT := $(CURDIR)/$(TARGET) 81 | export TOPDIR := $(CURDIR) 82 | 83 | export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ 84 | $(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir)) \ 85 | $(foreach dir,$(DATA),$(CURDIR)/$(dir)) 86 | 87 | export DEPSDIR := $(CURDIR)/$(BUILD) 88 | 89 | CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) 90 | CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cc))) 91 | SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) 92 | PICAFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.v.pica))) 93 | SHLISTFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.shlist))) 94 | GFXFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.t3s))) 95 | BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) 96 | 97 | #--------------------------------------------------------------------------------- 98 | # use CXX for linking C++ projects, CC for standard C 99 | #--------------------------------------------------------------------------------- 100 | ifeq ($(strip $(CPPFILES)),) 101 | #--------------------------------------------------------------------------------- 102 | export LD := $(CC) 103 | #--------------------------------------------------------------------------------- 104 | else 105 | #--------------------------------------------------------------------------------- 106 | export LD := $(CXX) 107 | #--------------------------------------------------------------------------------- 108 | endif 109 | #--------------------------------------------------------------------------------- 110 | 111 | #--------------------------------------------------------------------------------- 112 | ifeq ($(GFXBUILD),$(BUILD)) 113 | #--------------------------------------------------------------------------------- 114 | export T3XFILES := $(GFXFILES:.t3s=.t3x) 115 | #--------------------------------------------------------------------------------- 116 | else 117 | #--------------------------------------------------------------------------------- 118 | export ROMFS_T3XFILES := $(patsubst %.t3s, $(GFXBUILD)/%.t3x, $(GFXFILES)) 119 | export T3XHFILES := $(patsubst %.t3s, $(BUILD)/%.h, $(GFXFILES)) 120 | #--------------------------------------------------------------------------------- 121 | endif 122 | #--------------------------------------------------------------------------------- 123 | 124 | export OFILES_SOURCES := $(CPPFILES:.cc=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) 125 | 126 | export OFILES_BIN := $(addsuffix .o,$(BINFILES)) \ 127 | $(PICAFILES:.v.pica=.shbin.o) $(SHLISTFILES:.shlist=.shbin.o) \ 128 | $(addsuffix .o,$(T3XFILES)) 129 | 130 | export OFILES := $(OFILES_BIN) $(OFILES_SOURCES) 131 | 132 | export HFILES := $(PICAFILES:.v.pica=_shbin.h) $(SHLISTFILES:.shlist=_shbin.h) \ 133 | $(addsuffix .h,$(subst .,_,$(BINFILES))) \ 134 | $(GFXFILES:.t3s=.h) 135 | 136 | export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ 137 | $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ 138 | -I$(CURDIR)/$(BUILD) 139 | 140 | export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) 141 | 142 | export _3DSXDEPS := $(if $(NO_SMDH),,$(OUTPUT).smdh) 143 | 144 | ifeq ($(strip $(ICON)),) 145 | icons := $(wildcard *.png) 146 | ifneq (,$(findstring $(TARGET).png,$(icons))) 147 | export APP_ICON := $(TOPDIR)/$(TARGET).png 148 | else 149 | ifneq (,$(findstring icon.png,$(icons))) 150 | export APP_ICON := $(TOPDIR)/icon.png 151 | endif 152 | endif 153 | else 154 | export APP_ICON := $(TOPDIR)/$(ICON) 155 | endif 156 | 157 | ifeq ($(strip $(NO_SMDH)),) 158 | export _3DSXFLAGS += --smdh=$(CURDIR)/$(TARGET).smdh 159 | endif 160 | 161 | ifneq ($(ROMFS),) 162 | export _3DSXFLAGS += --romfs=$(CURDIR)/$(ROMFS) 163 | endif 164 | 165 | .PHONY: all clean 166 | 167 | #--------------------------------------------------------------------------------- 168 | all: $(BUILD) $(GFXBUILD) $(DEPSDIR) $(ROMFS_T3XFILES) $(T3XHFILES) 169 | @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile 170 | 171 | $(BUILD): 172 | @mkdir -p $@ 173 | 174 | ifneq ($(GFXBUILD),$(BUILD)) 175 | $(GFXBUILD): 176 | @mkdir -p $@ 177 | endif 178 | 179 | ifneq ($(DEPSDIR),$(BUILD)) 180 | $(DEPSDIR): 181 | @mkdir -p $@ 182 | endif 183 | 184 | #--------------------------------------------------------------------------------- 185 | clean: 186 | @echo clean ... 187 | @rm -fr $(BUILD) $(TARGET).3dsx $(OUTPUT).smdh $(TARGET).elf $(GFXBUILD) 188 | 189 | #--------------------------------------------------------------------------------- 190 | $(GFXBUILD)/%.t3x $(BUILD)/%.h : %.t3s 191 | #--------------------------------------------------------------------------------- 192 | @echo $(notdir $<) 193 | @tex3ds -i $< -H $(BUILD)/$*.h -d $(DEPSDIR)/$*.d -o $(GFXBUILD)/$*.t3x 194 | 195 | #--------------------------------------------------------------------------------- 196 | else 197 | 198 | #--------------------------------------------------------------------------------- 199 | # main targets 200 | #--------------------------------------------------------------------------------- 201 | $(OUTPUT).3dsx : $(OUTPUT).elf $(_3DSXDEPS) 202 | 203 | $(OFILES_SOURCES) : $(HFILES) 204 | 205 | $(OUTPUT).elf : $(OFILES) 206 | 207 | #--------------------------------------------------------------------------------- 208 | # you need a rule like this for each extension you use as binary data 209 | #--------------------------------------------------------------------------------- 210 | %.bin.o %_bin.h : %.bin 211 | #--------------------------------------------------------------------------------- 212 | @echo $(notdir $<) 213 | @$(bin2o) 214 | 215 | #--------------------------------------------------------------------------------- 216 | .PRECIOUS : %.t3x 217 | #--------------------------------------------------------------------------------- 218 | %.t3x.o %_t3x.h : %.t3x 219 | #--------------------------------------------------------------------------------- 220 | @echo $(notdir $<) 221 | @$(bin2o) 222 | 223 | #--------------------------------------------------------------------------------- 224 | # rules for assembling GPU shaders 225 | #--------------------------------------------------------------------------------- 226 | define shader-as 227 | $(eval CURBIN := $*.shbin) 228 | $(eval DEPSFILE := $(DEPSDIR)/$*.shbin.d) 229 | echo "$(CURBIN).o: $< $1" > $(DEPSFILE) 230 | echo "extern const u8" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > `(echo $(CURBIN) | tr . _)`.h 231 | echo "extern const u8" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> `(echo $(CURBIN) | tr . _)`.h 232 | echo "extern const u32" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> `(echo $(CURBIN) | tr . _)`.h 233 | picasso -o $(CURBIN) $1 234 | bin2s $(CURBIN) | $(AS) -o $*.shbin.o 235 | endef 236 | 237 | %.shbin.o %_shbin.h : %.v.pica %.g.pica 238 | @echo $(notdir $^) 239 | @$(call shader-as,$^) 240 | 241 | %.shbin.o %_shbin.h : %.v.pica 242 | @echo $(notdir $<) 243 | @$(call shader-as,$<) 244 | 245 | %.shbin.o %_shbin.h : %.shlist 246 | @echo $(notdir $<) 247 | @$(call shader-as,$(foreach file,$(shell cat $<),$(dir $<)$(file))) 248 | 249 | #--------------------------------------------------------------------------------- 250 | %.t3x %.h : %.t3s 251 | #--------------------------------------------------------------------------------- 252 | @echo $(notdir $<) 253 | @tex3ds -i $< -H $*.h -d $*.d -o $*.t3x 254 | 255 | -include $(DEPSDIR)/*.d 256 | 257 | #--------------------------------------------------------------------------------------- 258 | endif 259 | #--------------------------------------------------------------------------------------- 260 | -------------------------------------------------------------------------------- /AOC-Patching/rustys-real-dealc/Makefile: -------------------------------------------------------------------------------- 1 | #--------------------------------------------------------------------------------- 2 | .SUFFIXES: 3 | #--------------------------------------------------------------------------------- 4 | 5 | ifeq ($(strip $(DEVKITARM)),) 6 | $(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") 7 | endif 8 | 9 | TOPDIR ?= $(CURDIR) 10 | include $(DEVKITARM)/3ds_rules 11 | 12 | %.o: %.cc 13 | $(SILENTMSG) $(notdir $<) 14 | $(SILENTCMD)$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) 15 | 16 | #--------------------------------------------------------------------------------- 17 | # TARGET is the name of the output 18 | # BUILD is the directory where object files & intermediate files will be placed 19 | # SOURCES is a list of directories containing source code 20 | # DATA is a list of directories containing data files 21 | # INCLUDES is a list of directories containing header files 22 | # GRAPHICS is a list of directories containing graphics files 23 | # GFXBUILD is the directory where converted graphics files will be placed 24 | # If set to $(BUILD), it will statically link in the converted 25 | # files as if they were data files. 26 | # 27 | # NO_SMDH: if set to anything, no SMDH file is generated. 28 | # ROMFS is the directory which contains the RomFS, relative to the Makefile (Optional) 29 | # APP_TITLE is the name of the app stored in the SMDH file (Optional) 30 | # APP_DESCRIPTION is the description of the app stored in the SMDH file (Optional) 31 | # APP_AUTHOR is the author of the app stored in the SMDH file (Optional) 32 | # ICON is the filename of the icon (.png), relative to the project folder. 33 | # If not set, it attempts to use one of the following (in this order): 34 | # - .png 35 | # - icon.png 36 | # - /default_icon.png 37 | #--------------------------------------------------------------------------------- 38 | TARGET := $(notdir $(CURDIR)) 39 | BUILD := build 40 | SOURCES := source ../libpatchaoc/source 41 | DATA := data 42 | INCLUDES := include ../libpatchaoc/include 43 | GRAPHICS := gfx 44 | GFXBUILD := $(BUILD) 45 | #ROMFS := romfs 46 | #GFXBUILD := $(ROMFS)/gfx 47 | 48 | #--------------------------------------------------------------------------------- 49 | # options for code generation 50 | #--------------------------------------------------------------------------------- 51 | ARCH := -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft 52 | 53 | CFLAGS := -g -Wall -mword-relocations \ 54 | -ffunction-sections \ 55 | $(ARCH) 56 | 57 | CFLAGS += $(INCLUDE) -D__3DS__ 58 | 59 | CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 60 | 61 | ASFLAGS := -g $(ARCH) 62 | LDFLAGS = -specs=3dsx.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) 63 | 64 | LIBS := -lctru -lm 65 | 66 | #--------------------------------------------------------------------------------- 67 | # list of directories containing libraries, this must be the top level containing 68 | # include and lib 69 | #--------------------------------------------------------------------------------- 70 | LIBDIRS := $(CTRULIB) 71 | 72 | 73 | #--------------------------------------------------------------------------------- 74 | # no real need to edit anything past this point unless you need to add additional 75 | # rules for different file extensions 76 | #--------------------------------------------------------------------------------- 77 | ifneq ($(BUILD),$(notdir $(CURDIR))) 78 | #--------------------------------------------------------------------------------- 79 | 80 | export OUTPUT := $(CURDIR)/$(TARGET) 81 | export TOPDIR := $(CURDIR) 82 | 83 | export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ 84 | $(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir)) \ 85 | $(foreach dir,$(DATA),$(CURDIR)/$(dir)) 86 | 87 | export DEPSDIR := $(CURDIR)/$(BUILD) 88 | 89 | CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) 90 | CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cc))) 91 | SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) 92 | PICAFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.v.pica))) 93 | SHLISTFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.shlist))) 94 | GFXFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.t3s))) 95 | BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) 96 | 97 | #--------------------------------------------------------------------------------- 98 | # use CXX for linking C++ projects, CC for standard C 99 | #--------------------------------------------------------------------------------- 100 | ifeq ($(strip $(CPPFILES)),) 101 | #--------------------------------------------------------------------------------- 102 | export LD := $(CC) 103 | #--------------------------------------------------------------------------------- 104 | else 105 | #--------------------------------------------------------------------------------- 106 | export LD := $(CXX) 107 | #--------------------------------------------------------------------------------- 108 | endif 109 | #--------------------------------------------------------------------------------- 110 | 111 | #--------------------------------------------------------------------------------- 112 | ifeq ($(GFXBUILD),$(BUILD)) 113 | #--------------------------------------------------------------------------------- 114 | export T3XFILES := $(GFXFILES:.t3s=.t3x) 115 | #--------------------------------------------------------------------------------- 116 | else 117 | #--------------------------------------------------------------------------------- 118 | export ROMFS_T3XFILES := $(patsubst %.t3s, $(GFXBUILD)/%.t3x, $(GFXFILES)) 119 | export T3XHFILES := $(patsubst %.t3s, $(BUILD)/%.h, $(GFXFILES)) 120 | #--------------------------------------------------------------------------------- 121 | endif 122 | #--------------------------------------------------------------------------------- 123 | 124 | export OFILES_SOURCES := $(CPPFILES:.cc=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) 125 | 126 | export OFILES_BIN := $(addsuffix .o,$(BINFILES)) \ 127 | $(PICAFILES:.v.pica=.shbin.o) $(SHLISTFILES:.shlist=.shbin.o) \ 128 | $(addsuffix .o,$(T3XFILES)) 129 | 130 | export OFILES := $(OFILES_BIN) $(OFILES_SOURCES) 131 | 132 | export HFILES := $(PICAFILES:.v.pica=_shbin.h) $(SHLISTFILES:.shlist=_shbin.h) \ 133 | $(addsuffix .h,$(subst .,_,$(BINFILES))) \ 134 | $(GFXFILES:.t3s=.h) 135 | 136 | export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ 137 | $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ 138 | -I$(CURDIR)/$(BUILD) 139 | 140 | export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) 141 | 142 | export _3DSXDEPS := $(if $(NO_SMDH),,$(OUTPUT).smdh) 143 | 144 | ifeq ($(strip $(ICON)),) 145 | icons := $(wildcard *.png) 146 | ifneq (,$(findstring $(TARGET).png,$(icons))) 147 | export APP_ICON := $(TOPDIR)/$(TARGET).png 148 | else 149 | ifneq (,$(findstring icon.png,$(icons))) 150 | export APP_ICON := $(TOPDIR)/icon.png 151 | endif 152 | endif 153 | else 154 | export APP_ICON := $(TOPDIR)/$(ICON) 155 | endif 156 | 157 | ifeq ($(strip $(NO_SMDH)),) 158 | export _3DSXFLAGS += --smdh=$(CURDIR)/$(TARGET).smdh 159 | endif 160 | 161 | ifneq ($(ROMFS),) 162 | export _3DSXFLAGS += --romfs=$(CURDIR)/$(ROMFS) 163 | endif 164 | 165 | .PHONY: all clean 166 | 167 | #--------------------------------------------------------------------------------- 168 | all: $(BUILD) $(GFXBUILD) $(DEPSDIR) $(ROMFS_T3XFILES) $(T3XHFILES) 169 | @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile 170 | 171 | $(BUILD): 172 | @mkdir -p $@ 173 | 174 | ifneq ($(GFXBUILD),$(BUILD)) 175 | $(GFXBUILD): 176 | @mkdir -p $@ 177 | endif 178 | 179 | ifneq ($(DEPSDIR),$(BUILD)) 180 | $(DEPSDIR): 181 | @mkdir -p $@ 182 | endif 183 | 184 | #--------------------------------------------------------------------------------- 185 | clean: 186 | @echo clean ... 187 | @rm -fr $(BUILD) $(TARGET).3dsx $(OUTPUT).smdh $(TARGET).elf $(GFXBUILD) 188 | 189 | #--------------------------------------------------------------------------------- 190 | $(GFXBUILD)/%.t3x $(BUILD)/%.h : %.t3s 191 | #--------------------------------------------------------------------------------- 192 | @echo $(notdir $<) 193 | @tex3ds -i $< -H $(BUILD)/$*.h -d $(DEPSDIR)/$*.d -o $(GFXBUILD)/$*.t3x 194 | 195 | #--------------------------------------------------------------------------------- 196 | else 197 | 198 | #--------------------------------------------------------------------------------- 199 | # main targets 200 | #--------------------------------------------------------------------------------- 201 | $(OUTPUT).3dsx : $(OUTPUT).elf $(_3DSXDEPS) 202 | 203 | $(OFILES_SOURCES) : $(HFILES) 204 | 205 | $(OUTPUT).elf : $(OFILES) 206 | 207 | #--------------------------------------------------------------------------------- 208 | # you need a rule like this for each extension you use as binary data 209 | #--------------------------------------------------------------------------------- 210 | %.bin.o %_bin.h : %.bin 211 | #--------------------------------------------------------------------------------- 212 | @echo $(notdir $<) 213 | @$(bin2o) 214 | 215 | #--------------------------------------------------------------------------------- 216 | .PRECIOUS : %.t3x 217 | #--------------------------------------------------------------------------------- 218 | %.t3x.o %_t3x.h : %.t3x 219 | #--------------------------------------------------------------------------------- 220 | @echo $(notdir $<) 221 | @$(bin2o) 222 | 223 | #--------------------------------------------------------------------------------- 224 | # rules for assembling GPU shaders 225 | #--------------------------------------------------------------------------------- 226 | define shader-as 227 | $(eval CURBIN := $*.shbin) 228 | $(eval DEPSFILE := $(DEPSDIR)/$*.shbin.d) 229 | echo "$(CURBIN).o: $< $1" > $(DEPSFILE) 230 | echo "extern const u8" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"_end[];" > `(echo $(CURBIN) | tr . _)`.h 231 | echo "extern const u8" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`"[];" >> `(echo $(CURBIN) | tr . _)`.h 232 | echo "extern const u32" `(echo $(CURBIN) | sed -e 's/^\([0-9]\)/_\1/' | tr . _)`_size";" >> `(echo $(CURBIN) | tr . _)`.h 233 | picasso -o $(CURBIN) $1 234 | bin2s $(CURBIN) | $(AS) -o $*.shbin.o 235 | endef 236 | 237 | %.shbin.o %_shbin.h : %.v.pica %.g.pica 238 | @echo $(notdir $^) 239 | @$(call shader-as,$^) 240 | 241 | %.shbin.o %_shbin.h : %.v.pica 242 | @echo $(notdir $<) 243 | @$(call shader-as,$<) 244 | 245 | %.shbin.o %_shbin.h : %.shlist 246 | @echo $(notdir $<) 247 | @$(call shader-as,$(foreach file,$(shell cat $<),$(dir $<)$(file))) 248 | 249 | #--------------------------------------------------------------------------------- 250 | %.t3x %.h : %.t3s 251 | #--------------------------------------------------------------------------------- 252 | @echo $(notdir $<) 253 | @tex3ds -i $< -H $*.h -d $*.d -o $*.t3x 254 | 255 | -include $(DEPSDIR)/*.d 256 | 257 | #--------------------------------------------------------------------------------------- 258 | endif 259 | #--------------------------------------------------------------------------------------- 260 | -------------------------------------------------------------------------------- /Password-Cracking/Taiko No Tatsujin - Dokodon Mystery Adventure/README.md: -------------------------------------------------------------------------------- 1 | # Taiko No Tatsujin - Dokodon Mystery Adventure 2 | 3 | All in-game QR codes for use in the settings menu of of Taiko No Tatsujin - Dokodon Mystery Adventure (0004000000190E00) (JP). 4 | 5 | # Known items in game 6 | QRs [1](#qr-code-1)-[40](#qr-code-40): Characters (RPG Units) 7 | 8 | QRs [41](#qr-code-41)-[50](#qr-code-50): Costumes 9 | 10 | QRs [51](#qr-code-51)-[56](#qr-code-56): Cards 11 | 12 | QR [57](#qr-code-57): Character 13 | 14 | QR [58](#qr-code-58): Song 15 | 16 | 17 | 18 | # QR Code #1 19 | QR ID: QRCODE_001 20 | 21 | QR Data : DOKODON_mysADV_F8nA7syTCT 22 | 23 | QR Item 1: CHARA_TAKKUN 24 | 25 | QR Item 2 : CHARA_TIKKUN 26 | 27 | QR Code: 28 | 29 | ![Image](./qrs/QRCODE_001.png) 30 | # QR Code #2 31 | QR ID: QRCODE_002 32 | 33 | QR Data : DOKODON_mysADV_RgERcujHWe 34 | 35 | QR Item 1: CHARA_2000 36 | 37 | QR Item 2 : (QR Code has no Item 2) 38 | 39 | QR Code: 40 | 41 | ![Image](./qrs/QRCODE_002.png) 42 | # QR Code #3 43 | QR ID: QRCODE_003 44 | 45 | QR Data : DOKODON_mysADV_J2J8B2UMRR 46 | 47 | QR Item 1: CHARA_2001 48 | 49 | QR Item 2 : (QR Code has no Item 2) 50 | 51 | QR Code: 52 | 53 | ![Image](./qrs/QRCODE_003.png) 54 | # QR Code #4 55 | QR ID: QRCODE_004 56 | 57 | QR Data : DOKODON_mysADV_4T3RWXEMH3 58 | 59 | QR Item 1: CHARA_2002 60 | 61 | QR Item 2 : (QR Code has no Item 2) 62 | 63 | QR Code: 64 | 65 | ![Image](./qrs/QRCODE_004.png) 66 | # QR Code #5 67 | QR ID: QRCODE_005 68 | 69 | QR Data : DOKODON_mysADV_JgaQ6KiyL5 70 | 71 | QR Item 1: CHARA_2003 72 | 73 | QR Item 2 : (QR Code has no Item 2) 74 | 75 | QR Code: 76 | 77 | ![Image](./qrs/QRCODE_005.png) 78 | # QR Code #6 79 | QR ID: QRCODE_006 80 | 81 | QR Data : DOKODON_mysADV_iMxTyeknsy 82 | 83 | QR Item 1: CHARA_2004 84 | 85 | QR Item 2 : (QR Code has no Item 2) 86 | 87 | QR Code: 88 | 89 | ![Image](./qrs/QRCODE_006.png) 90 | # QR Code #7 91 | QR ID: QRCODE_007 92 | 93 | QR Data : DOKODON_mysADV_ZkKSWMke5L 94 | 95 | QR Item 1: CHARA_2005 96 | 97 | QR Item 2 : (QR Code has no Item 2) 98 | 99 | QR Code: 100 | 101 | ![Image](./qrs/QRCODE_007.png) 102 | # QR Code #8 103 | QR ID: QRCODE_008 104 | 105 | QR Data : DOKODON_mysADV_TbxRdHZiRg 106 | 107 | QR Item 1: CHARA_2006 108 | 109 | QR Item 2 : (QR Code has no Item 2) 110 | 111 | QR Code: 112 | 113 | ![Image](./qrs/QRCODE_008.png) 114 | # QR Code #9 115 | QR ID: QRCODE_009 116 | 117 | QR Data : DOKODON_mysADV_BeLgCdEngV 118 | 119 | QR Item 1: CHARA_2007 120 | 121 | QR Item 2 : (QR Code has no Item 2) 122 | 123 | QR Code: 124 | 125 | ![Image](./qrs/QRCODE_009.png) 126 | # QR Code #10 127 | QR ID: QRCODE_010 128 | 129 | QR Data : DOKODON_mysADV_gD6jAHGimK 130 | 131 | QR Item 1: CHARA_2008 132 | 133 | QR Item 2 : (QR Code has no Item 2) 134 | 135 | QR Code: 136 | 137 | ![Image](./qrs/QRCODE_010.png) 138 | # QR Code #11 139 | QR ID: QRCODE_011 140 | 141 | QR Data : DOKODON_mysADV_iKCEJZnRin 142 | 143 | QR Item 1: CHARA_2009 144 | 145 | QR Item 2 : (QR Code has no Item 2) 146 | 147 | QR Code: 148 | 149 | ![Image](./qrs/QRCODE_011.png) 150 | # QR Code #12 151 | QR ID: QRCODE_012 152 | 153 | QR Data : DOKODON_mysADV_CGmDRBayWf 154 | 155 | QR Item 1: CHARA_2010 156 | 157 | QR Item 2 : (QR Code has no Item 2) 158 | 159 | QR Code: 160 | 161 | ![Image](./qrs/QRCODE_012.png) 162 | # QR Code #13 163 | QR ID: QRCODE_013 164 | 165 | QR Data : DOKODON_mysADV_JA6UPFh458 166 | 167 | QR Item 1: CHARA_2011 168 | 169 | QR Item 2 : (QR Code has no Item 2) 170 | 171 | QR Code: 172 | 173 | ![Image](./qrs/QRCODE_013.png) 174 | # QR Code #14 175 | QR ID: QRCODE_014 176 | 177 | QR Data : DOKODON_mysADV_UGRPg58N4E 178 | 179 | QR Item 1: CHARA_2012 180 | 181 | QR Item 2 : (QR Code has no Item 2) 182 | 183 | QR Code: 184 | 185 | ![Image](./qrs/QRCODE_014.png) 186 | # QR Code #15 187 | QR ID: QRCODE_015 188 | 189 | QR Data : DOKODON_mysADV_PbnDXRmQFR 190 | 191 | QR Item 1: CHARA_2013 192 | 193 | QR Item 2 : (QR Code has no Item 2) 194 | 195 | QR Code: 196 | 197 | ![Image](./qrs/QRCODE_015.png) 198 | # QR Code #16 199 | QR ID: QRCODE_016 200 | 201 | QR Data : DOKODON_mysADV_mDNFEACyeR 202 | 203 | QR Item 1: CHARA_2014 204 | 205 | QR Item 2 : (QR Code has no Item 2) 206 | 207 | QR Code: 208 | 209 | ![Image](./qrs/QRCODE_016.png) 210 | # QR Code #17 211 | QR ID: QRCODE_017 212 | 213 | QR Data : DOKODON_mysADV_3xh2978eGE 214 | 215 | QR Item 1: CHARA_2015 216 | 217 | QR Item 2 : (QR Code has no Item 2) 218 | 219 | QR Code: 220 | 221 | ![Image](./qrs/QRCODE_017.png) 222 | # QR Code #18 223 | QR ID: QRCODE_018 224 | 225 | QR Data : DOKODON_mysADV_FbPiZaZBDz 226 | 227 | QR Item 1: CHARA_2016 228 | 229 | QR Item 2 : (QR Code has no Item 2) 230 | 231 | QR Code: 232 | 233 | ![Image](./qrs/QRCODE_018.png) 234 | # QR Code #19 235 | QR ID: QRCODE_019 236 | 237 | QR Data : DOKODON_mysADV_h7HkLikJhW 238 | 239 | QR Item 1: CHARA_2017 240 | 241 | QR Item 2 : (QR Code has no Item 2) 242 | 243 | QR Code: 244 | 245 | ![Image](./qrs/QRCODE_019.png) 246 | # QR Code #20 247 | QR ID: QRCODE_020 248 | 249 | QR Data : DOKODON_mysADV_PtctfEk35k 250 | 251 | QR Item 1: CHARA_2018 252 | 253 | QR Item 2 : (QR Code has no Item 2) 254 | 255 | QR Code: 256 | 257 | ![Image](./qrs/QRCODE_020.png) 258 | # QR Code #21 259 | QR ID: QRCODE_021 260 | 261 | QR Data : DOKODON_mysADV_m2hbs6yT8c 262 | 263 | QR Item 1: CHARA_2019 264 | 265 | QR Item 2 : (QR Code has no Item 2) 266 | 267 | QR Code: 268 | 269 | ![Image](./qrs/QRCODE_021.png) 270 | # QR Code #22 271 | QR ID: QRCODE_022 272 | 273 | QR Data : DOKODON_mysADV_yXCf2hKSEY 274 | 275 | QR Item 1: CHARA_2020 276 | 277 | QR Item 2 : (QR Code has no Item 2) 278 | 279 | QR Code: 280 | 281 | ![Image](./qrs/QRCODE_022.png) 282 | # QR Code #23 283 | QR ID: QRCODE_023 284 | 285 | QR Data : DOKODON_mysADV_PT26eTtJG8 286 | 287 | QR Item 1: CHARA_2021 288 | 289 | QR Item 2 : (QR Code has no Item 2) 290 | 291 | QR Code: 292 | 293 | ![Image](./qrs/QRCODE_023.png) 294 | # QR Code #24 295 | QR ID: QRCODE_024 296 | 297 | QR Data : DOKODON_mysADV_yNhAJsjD7t 298 | 299 | QR Item 1: CHARA_2022 300 | 301 | QR Item 2 : (QR Code has no Item 2) 302 | 303 | QR Code: 304 | 305 | ![Image](./qrs/QRCODE_024.png) 306 | # QR Code #25 307 | QR ID: QRCODE_025 308 | 309 | QR Data : DOKODON_mysADV_dDhEd2jMaM 310 | 311 | QR Item 1: CHARA_2023 312 | 313 | QR Item 2 : (QR Code has no Item 2) 314 | 315 | QR Code: 316 | 317 | ![Image](./qrs/QRCODE_025.png) 318 | # QR Code #26 319 | QR ID: QRCODE_026 320 | 321 | QR Data : DOKODON_mysADV_bRwA4WFw8Q 322 | 323 | QR Item 1: CHARA_2024 324 | 325 | QR Item 2 : (QR Code has no Item 2) 326 | 327 | QR Code: 328 | 329 | ![Image](./qrs/QRCODE_026.png) 330 | # QR Code #27 331 | QR ID: QRCODE_027 332 | 333 | QR Data : DOKODON_mysADV_Y3zD5Z89cd 334 | 335 | QR Item 1: CHARA_2025 336 | 337 | QR Item 2 : (QR Code has no Item 2) 338 | 339 | QR Code: 340 | 341 | ![Image](./qrs/QRCODE_027.png) 342 | # QR Code #28 343 | QR ID: QRCODE_028 344 | 345 | QR Data : DOKODON_mysADV_JufgGeRc4h 346 | 347 | QR Item 1: CHARA_2026 348 | 349 | QR Item 2 : (QR Code has no Item 2) 350 | 351 | QR Code: 352 | 353 | ![Image](./qrs/QRCODE_028.png) 354 | # QR Code #29 355 | QR ID: QRCODE_029 356 | 357 | QR Data : DOKODON_mysADV_tsR3p36wrF 358 | 359 | QR Item 1: CHARA_2027 360 | 361 | QR Item 2 : (QR Code has no Item 2) 362 | 363 | QR Code: 364 | 365 | ![Image](./qrs/QRCODE_029.png) 366 | # QR Code #30 367 | QR ID: QRCODE_030 368 | 369 | QR Data : DOKODON_mysADV_upX84ix27t 370 | 371 | QR Item 1: CHARA_2028 372 | 373 | QR Item 2 : (QR Code has no Item 2) 374 | 375 | QR Code: 376 | 377 | ![Image](./qrs/QRCODE_030.png) 378 | # QR Code #31 379 | QR ID: QRCODE_031 380 | 381 | QR Data : DOKODON_mysADV_wtGrm95EjV 382 | 383 | QR Item 1: CHARA_2029 384 | 385 | QR Item 2 : (QR Code has no Item 2) 386 | 387 | QR Code: 388 | 389 | ![Image](./qrs/QRCODE_031.png) 390 | # QR Code #32 391 | QR ID: QRCODE_032 392 | 393 | QR Data : DOKODON_mysADV_BztAgw9UZy 394 | 395 | QR Item 1: CHARA_2030 396 | 397 | QR Item 2 : (QR Code has no Item 2) 398 | 399 | QR Code: 400 | 401 | ![Image](./qrs/QRCODE_032.png) 402 | # QR Code #33 403 | QR ID: QRCODE_033 404 | 405 | QR Data : DOKODON_mysADV_V26Pxswpj9 406 | 407 | QR Item 1: CHARA_2031 408 | 409 | QR Item 2 : (QR Code has no Item 2) 410 | 411 | QR Code: 412 | 413 | ![Image](./qrs/QRCODE_033.png) 414 | # QR Code #34 415 | QR ID: QRCODE_034 416 | 417 | QR Data : DOKODON_mysADV_t94J9HpTYg 418 | 419 | QR Item 1: CHARA_2032 420 | 421 | QR Item 2 : (QR Code has no Item 2) 422 | 423 | QR Code: 424 | 425 | ![Image](./qrs/QRCODE_034.png) 426 | # QR Code #35 427 | QR ID: QRCODE_035 428 | 429 | QR Data : DOKODON_mysADV_25BK2wzHQH 430 | 431 | QR Item 1: CHARA_2033 432 | 433 | QR Item 2 : (QR Code has no Item 2) 434 | 435 | QR Code: 436 | 437 | ![Image](./qrs/QRCODE_035.png) 438 | # QR Code #36 439 | QR ID: QRCODE_036 440 | 441 | QR Data : DOKODON_mysADV_fiQ28RS6mx 442 | 443 | QR Item 1: CHARA_2034 444 | 445 | QR Item 2 : (QR Code has no Item 2) 446 | 447 | QR Code: 448 | 449 | ![Image](./qrs/QRCODE_036.png) 450 | # QR Code #37 451 | QR ID: QRCODE_037 452 | 453 | QR Data : DOKODON_mysADV_kEbuYkcaF7 454 | 455 | QR Item 1: CHARA_2035 456 | 457 | QR Item 2 : (QR Code has no Item 2) 458 | 459 | QR Code: 460 | 461 | ![Image](./qrs/QRCODE_037.png) 462 | # QR Code #38 463 | QR ID: QRCODE_038 464 | 465 | QR Data : DOKODON_mysADV_pLaXujtRgj 466 | 467 | QR Item 1: CHARA_2036 468 | 469 | QR Item 2 : (QR Code has no Item 2) 470 | 471 | QR Code: 472 | 473 | ![Image](./qrs/QRCODE_038.png) 474 | # QR Code #39 475 | QR ID: QRCODE_039 476 | 477 | QR Data : DOKODON_mysADV_z8SskexRQS 478 | 479 | QR Item 1: CHARA_ISEKI 480 | 481 | QR Item 2 : (QR Code has no Item 2) 482 | 483 | QR Code: 484 | 485 | ![Image](./qrs/QRCODE_039.png) 486 | # QR Code #40 487 | QR ID: QRCODE_040 488 | 489 | QR Data : DOKODON_mysADV_pYKgnYhe5w 490 | 491 | QR Item 1: CHARA_MEKA 492 | 493 | QR Item 2 : (QR Code has no Item 2) 494 | 495 | QR Code: 496 | 497 | ![Image](./qrs/QRCODE_040.png) 498 | # QR Code #41 499 | QR ID: QRCODE_041 500 | 501 | QR Data : DOKODON_mysADV_dBCEF8JTat 502 | 503 | QR Item 1: head_051000 504 | 505 | QR Item 2 : body_050000 506 | 507 | QR Code: 508 | 509 | ![Image](./qrs/QRCODE_041.png) 510 | # QR Code #42 511 | QR ID: QRCODE_042 512 | 513 | QR Data : DOKODON_mysADV_HeUUyWgDW5 514 | 515 | QR Item 1: head_052000 516 | 517 | QR Item 2 : body_051000 518 | 519 | QR Code: 520 | 521 | ![Image](./qrs/QRCODE_042.png) 522 | # QR Code #43 523 | QR ID: QRCODE_043 524 | 525 | QR Data : DOKODON_mysADV_EEr2EbhFZ3 526 | 527 | QR Item 1: head_053000 528 | 529 | QR Item 2 : body_052000 530 | 531 | QR Code: 532 | 533 | ![Image](./qrs/QRCODE_043.png) 534 | # QR Code #44 535 | QR ID: QRCODE_044 536 | 537 | QR Data : DOKODON_mysADV_T6mVPFMecx 538 | 539 | QR Item 1: body_053000 540 | 541 | QR Item 2 : (QR Code has no Item 2) 542 | 543 | QR Code: 544 | 545 | ![Image](./qrs/QRCODE_044.png) 546 | # QR Code #45 547 | QR ID: QRCODE_045 548 | 549 | QR Data : DOKODON_mysADV_Vtp3ZFw5nn 550 | 551 | QR Item 1: head_054000 552 | 553 | QR Item 2 : body_054000 554 | 555 | QR Code: 556 | 557 | ![Image](./qrs/QRCODE_045.png) 558 | # QR Code #46 559 | QR ID: QRCODE_046 560 | 561 | QR Data : DOKODON_mysADV_PVaNUzUzc4 562 | 563 | QR Item 1: body_055000 564 | 565 | QR Item 2 : (QR Code has no Item 2) 566 | 567 | QR Code: 568 | 569 | ![Image](./qrs/QRCODE_046.png) 570 | # QR Code #47 571 | QR ID: QRCODE_047 572 | 573 | QR Data : DOKODON_mysADV_KPtQJMeVcg 574 | 575 | QR Item 1: head_055000 576 | 577 | QR Item 2 : body_056000 578 | 579 | QR Code: 580 | 581 | ![Image](./qrs/QRCODE_047.png) 582 | # QR Code #48 583 | QR ID: QRCODE_048 584 | 585 | QR Data : DOKODON_mysADV_nnCxYKFm6b 586 | 587 | QR Item 1: head_056000 588 | 589 | QR Item 2 : body_057000 590 | 591 | QR Code: 592 | 593 | ![Image](./qrs/QRCODE_048.png) 594 | # QR Code #49 595 | QR ID: QRCODE_049 596 | 597 | QR Data : DOKODON_mysADV_S94kDgrubs 598 | 599 | QR Item 1: head_057000 600 | 601 | QR Item 2 : body_058000 602 | 603 | QR Code: 604 | 605 | ![Image](./qrs/QRCODE_049.png) 606 | # QR Code #50 607 | QR ID: QRCODE_050 608 | 609 | QR Data : DOKODON_mysADV_sFZmShjM6G 610 | 611 | QR Item 1: head_058000 612 | 613 | QR Item 2 : body_059000 614 | 615 | QR Code: 616 | 617 | ![Image](./qrs/QRCODE_050.png) 618 | # QR Code #51 619 | QR ID: QRCODE_051 620 | 621 | QR Data : DOKODON_mysADV_eDDFswd66G 622 | 623 | QR Item 1: DON_CARD_037 624 | 625 | QR Item 2 : (QR Code has no Item 2) 626 | 627 | QR Code: 628 | 629 | ![Image](./qrs/QRCODE_051.png) 630 | # QR Code #52 631 | QR ID: QRCODE_052 632 | 633 | QR Data : DOKODON_mysADV_HNxPwB5Pak 634 | 635 | QR Item 1: DON_CARD_038 636 | 637 | QR Item 2 : (QR Code has no Item 2) 638 | 639 | QR Code: 640 | 641 | ![Image](./qrs/QRCODE_052.png) 642 | # QR Code #53 643 | QR ID: QRCODE_053 644 | 645 | QR Data : DOKODON_mysADV_ZsKFmLUAi4 646 | 647 | QR Item 1: DON_CARD_039 648 | 649 | QR Item 2 : (QR Code has no Item 2) 650 | 651 | QR Code: 652 | 653 | ![Image](./qrs/QRCODE_053.png) 654 | # QR Code #54 655 | QR ID: QRCODE_054 656 | 657 | QR Data : DOKODON_mysADV_DrDDFE4DM2 658 | 659 | QR Item 1: DON_CARD_040 660 | 661 | QR Item 2 : (QR Code has no Item 2) 662 | 663 | QR Code: 664 | 665 | ![Image](./qrs/QRCODE_054.png) 666 | # QR Code #55 667 | QR ID: QRCODE_055 668 | 669 | QR Data : DOKODON_mysADV_LZPnTH6JyD 670 | 671 | QR Item 1: DON_CARD_041 672 | 673 | QR Item 2 : (QR Code has no Item 2) 674 | 675 | QR Code: 676 | 677 | ![Image](./qrs/QRCODE_055.png) 678 | # QR Code #56 679 | QR ID: QRCODE_056 680 | 681 | QR Data : DOKODON_mysADV_7SyJ2D5s8E 682 | 683 | QR Item 1: DON_CARD_042 684 | 685 | QR Item 2 : (QR Code has no Item 2) 686 | 687 | QR Code: 688 | 689 | ![Image](./qrs/QRCODE_056.png) 690 | # QR Code #57 691 | QR ID: QRCODE_057 692 | 693 | QR Data : DOKODON_mysADV_ywyBWUN3nM 694 | 695 | QR Item 1: CHARA_MIKOSI 696 | 697 | QR Item 2 : (QR Code has no Item 2) 698 | 699 | QR Code: 700 | 701 | ![Image](./qrs/QRCODE_057.png) 702 | # QR Code #58 703 | QR ID: QRCODE_058 704 | 705 | QR Data : DOKODON_mysADV_4MZfMPM2p4 706 | 707 | QR Item 1: SONG_NAMCOT 708 | 709 | QR Item 2 : (QR Code has no Item 2) 710 | 711 | QR Code: 712 | 713 | ![Image](./qrs/QRCODE_058.png) 714 | -------------------------------------------------------------------------------- /AOC-Patching/libpatchaoc/source/patch.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static const uint32_t crc32_lookup[256] = 4 | { 5 | 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 6 | 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 7 | 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 8 | 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 9 | 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 10 | 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 11 | 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 12 | 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 13 | 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 14 | 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 15 | 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 16 | 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 17 | 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 18 | 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 19 | 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 20 | 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 21 | 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 22 | 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 23 | 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 24 | 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 25 | 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 26 | 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 27 | 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 28 | 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 29 | 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 30 | 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 31 | 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 32 | 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 33 | 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 34 | 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 35 | 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 36 | 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 37 | 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 38 | 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 39 | 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 40 | 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 41 | 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 42 | 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 43 | 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 44 | 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 45 | 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 46 | 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 47 | 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 48 | 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 49 | 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 50 | 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 51 | 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 52 | 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 53 | 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 54 | 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 55 | 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 56 | 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 57 | 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 58 | 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 59 | 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 60 | 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 61 | 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 62 | 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 63 | 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 64 | 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 65 | 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 66 | 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 67 | 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 68 | 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D 69 | }; 70 | 71 | static u32 crc32(u8 *buf, u32 len) 72 | { 73 | u32 ret = 0xffffffff; 74 | 75 | for(u32 i = 0; i < len; ++i) 76 | ret = crc32_lookup[(ret & 0xFF) ^ buf[i]] ^ (ret >> 8); 77 | 78 | return ~ret; 79 | } 80 | 81 | static std::string stringprintf(const char *f, ...) 82 | { 83 | va_list va; 84 | va_start(va, f); 85 | 86 | va_list cpy; 87 | va_copy(cpy, va); 88 | 89 | int len = vsnprintf(NULL, 0, f, cpy); 90 | char *charbuf = (char *)malloc(len + 1); 91 | 92 | vsnprintf(charbuf, len + 1, f, va); 93 | va_end(va); 94 | va_end(cpy); 95 | 96 | std::string out_str(charbuf); 97 | 98 | free(charbuf); 99 | return out_str; 100 | } 101 | 102 | Result DLC::TitleExists(const DLC::PatchTitle &title) 103 | { 104 | u64 title_ids[3] = 105 | { 106 | 0x0004000000000000 | (u64)title.UniqueID, // base title 107 | 0x0004008C00000000 | (u64)title.UniqueID, // dlc title 108 | 0x0004000E00000000 | (u64)title.UniqueID // update title 109 | }; 110 | 111 | bool uses_dlc = (int)title.Flags & (int)PatchTitleFlags::HasDLC; 112 | bool uses_update = (int)title.Flags & (int)PatchTitleFlags::HasUpdate; 113 | 114 | AM_TitleEntry title_entries[3]; 115 | 116 | u8 count = 1; 117 | 118 | if (uses_dlc) count++; 119 | if (uses_update) count++; 120 | 121 | Result res; 122 | 123 | if (R_FAILED(res = AM_GetTitleInfo(MEDIATYPE_SD, count, title_ids, title_entries))) 124 | return res; 125 | 126 | if ((title_entries[0].version != title.TitleVersion) || (uses_dlc && title_entries[1].version != title.DLCTitleVersion) || (uses_update && title_entries[2].version != title.UpdateTitleVersion)) 127 | return TITLE_VERSION_MISMATCH; 128 | 129 | DLC::SaveData savedata(title.UniqueID, (int)title.Flags & (int)PatchTitleFlags::UsesSaveData ? true : false); 130 | 131 | if (R_FAILED(savedata.CurrentResult) || 132 | R_FAILED(savedata.Close(true))) 133 | return savedata.CurrentResult; 134 | 135 | return 0; 136 | } 137 | 138 | Result DLC::TitlesExist(const PatchTitle *titles, u32 *out, int count) 139 | { 140 | if (!out) 141 | return INVALID_POINTER; 142 | 143 | Result res = 0; 144 | u32 ret = 0; 145 | 146 | for (int i = 0; i < count; i++) 147 | { 148 | if (R_FAILED(res = DLC::TitleExists(titles[i])) && res != (Result)0xD8A083FA) 149 | return res; 150 | 151 | if (res == (Result)0xD8A083FA) // am title not found 152 | continue; 153 | 154 | ret |= (1 << i); 155 | } 156 | 157 | *out = ret; 158 | 159 | return 0; 160 | } 161 | 162 | Result DLC::RustysRealDealBaseball::PatchSingle(const DLC::PatchTitle& title) 163 | { 164 | Result res; 165 | u64 size; 166 | u8 *buf; 167 | 168 | DLC::SaveData savedata(title.UniqueID, true); 169 | 170 | if (R_FAILED(savedata.CurrentResult)) 171 | return savedata.CurrentResult; 172 | 173 | if (R_FAILED(savedata.ReadFileIntoBuffer(buf, "/save00.bin", &size))) 174 | { 175 | res = savedata.CurrentResult; 176 | savedata.Close(true); 177 | return res; 178 | } 179 | 180 | if (size != 7076) 181 | { 182 | res = savedata.CurrentResult; 183 | savedata.Close(true); 184 | return INVALID_SAVE_SIZE; 185 | } 186 | 187 | // outfits ( page, row, column ) 188 | /* 189 | D60 + 19D4 to 0 = t-shirt -> 1, 1, 1 190 | DB4 + 1A74 to 1 = rusty slugger jacket -> 1, 1, 2 191 | D7C + 1A04 to 2 = business suit -> 1, 1, 3 192 | */ 193 | 194 | buf[0xD60] = buf[0xDB4] = buf[0xD7C] = 1; 195 | buf[0x19D4] = 0; // should be like that by default anyway 196 | buf[0x1A74] = 1; 197 | buf[0x1A04] = 2; 198 | 199 | /* 200 | D84 + 1A14 to 3 = farmer's outfit -> 1, 2, 1 201 | D8C + 1A24 to 4 = ninja suit -> 1, 2, 2 202 | D94 + 1A34 to 5 = space suit -> 1, 2, 3 203 | */ 204 | 205 | buf[0xD84] = buf[0xD8C] = buf[0xD94] = 1; 206 | buf[0x1A14] = 3; 207 | buf[0x1A24] = 4; 208 | buf[0x1A34] = 5; 209 | 210 | /* 211 | D9C + 1A44 to 6 = basic uniform -> 1, 3, 1 212 | DA4 + 1A54 to 7 = pinstripe uniform -> 1, 3, 2 213 | DAC + 1A64 to 8 = pro ump outfit -> 1, 3, 3 214 | */ 215 | 216 | buf[0xD9C] = buf[0xDA4] = buf[0xDAC] = 1; 217 | buf[0x1A44] = 6; 218 | buf[0x1A54] = 7; 219 | buf[0x1A64] = 8; 220 | 221 | /* 222 | D6C + 19E4 to 9 = sweat suit -> 2, 1, 1 223 | D74 + 19F4 to A = tropical shirt -> 2, 1, 2 224 | D78 + 19FC to B = school uniform -> 2, 1, 3 225 | */ 226 | 227 | buf[0xD6C] = buf[0xD74] = buf[0xD78] = 1; 228 | buf[0x19E4] = 9; 229 | buf[0x19F4] = 0xA; 230 | buf[0x19FC] = 0xB; 231 | 232 | /* 233 | D80 + 1A0C to C = western outfit -> 2, 2, 1 234 | D88 + 1A1C to D = kung-fu outfit -> 2, 2, 2 235 | D90 + 1A2C to E = caveman suit -> 2, 2, 3 236 | */ 237 | 238 | buf[0xD80] = buf[0xD88] = buf[0xD90] = 1; 239 | buf[0x1A0C] = 0xC; 240 | buf[0x1A1C] = 0xD; 241 | buf[0x1A2C] = 0xE; 242 | 243 | /* 244 | D98 + 1A3C to F = manager's jacket -> 2, 3, 1 245 | DA0 + 1A4C to 10 = road uniform -> 2, 3, 2 246 | DA8 + 1A5C to 11 = short uniform -> 2, 3, 3 247 | */ 248 | 249 | buf[0xD98] = buf[0xDA0] = buf[0xDA8] = 1; 250 | buf[0x1A3C] = 0xF; 251 | buf[0x1A4C] = 0x10; 252 | buf[0x1A5C] = 0x11; 253 | 254 | /* 255 | DB0 + 1A6C to 12 = martian outfit -> 3, 1, 1 256 | D68 + 19DC to 13 = workout set -> 3, 1, 2 257 | D70 + 19EC to 14 = football uniform -> 3, 1, 3 258 | */ 259 | 260 | buf[0xDB0] = buf[0xD68] = buf[0xD70] = 1; 261 | buf[0x1A6C] = 0x12; 262 | buf[0x19DC] = 0x13; 263 | buf[0x19EC] = 0x14; 264 | 265 | // fully advance story. 266 | buf[0x19D2] = 0x06; 267 | 268 | // // enable dog being your accomplice again. 269 | // buf[0x45A] = 0xFF; 270 | // ^ i'm not gonna add this yet; it seems keeping this on will trigger the message again and i'm not sure if that's intended behavior 271 | // maybe this is random? 272 | 273 | // enable games. 274 | for (u32 i = 0; i < 10; i++) 275 | buf[0x3E4 + i] = i; 276 | 277 | // required for enabling games. 278 | memset(buf + 0x3EE, 0x01, 10); 279 | 280 | // recalculate crc32 checksum. 281 | *((u32 *)(buf + size - 4)) = crc32(buf, size - 4); 282 | 283 | if (R_FAILED(savedata.WriteFileFromBuffer(buf, "/save00.bin", (u32)size))) 284 | { 285 | res = savedata.CurrentResult; 286 | savedata.Close(true); 287 | return res; 288 | } 289 | 290 | if (R_FAILED(savedata.Close())) 291 | { 292 | delete [] buf; 293 | return savedata.CurrentResult; 294 | } 295 | 296 | delete [] buf; 297 | 298 | return 0; 299 | } 300 | 301 | Result DLC::RustysRealDealBaseball::Patch() 302 | { 303 | Result res; 304 | u32 titles; 305 | std::vector patch_titles; 306 | 307 | if (R_FAILED(res = DLC::TitlesExist(DLC::RustysRealDealBaseball::Titles, &titles, 3))) 308 | return res; 309 | else if (titles == 0) 310 | return TITLES_NOT_FOUND; 311 | 312 | if (titles & 0x1) // USA 313 | patch_titles.push_back(&DLC::RustysRealDealBaseball::Titles[0]); 314 | 315 | if (titles & 0x2) // KOR 316 | patch_titles.push_back(&DLC::RustysRealDealBaseball::Titles[1]); 317 | 318 | if (titles & 0x4) // JPN 319 | patch_titles.push_back(&DLC::RustysRealDealBaseball::Titles[2]); 320 | 321 | for (const DLC::PatchTitle *&title : patch_titles) 322 | if (R_FAILED(res = DLC::RustysRealDealBaseball::PatchSingle(*title))) 323 | return res; 324 | 325 | return 0; 326 | } 327 | 328 | static const char GetMcRegionChar(DLC::PatchTitleRegion region) 329 | { 330 | switch (region) 331 | { 332 | case DLC::PatchTitleRegion::EUR: 333 | return 'P'; 334 | case DLC::PatchTitleRegion::USA: 335 | return 'E'; 336 | case DLC::PatchTitleRegion::JPN: 337 | return 'J'; 338 | default: 339 | return '\0'; 340 | } 341 | } 342 | 343 | Result DLC::Minecraft::PatchSingle(const DLC::PatchTitle& title) 344 | { 345 | u64 save_size; 346 | Result res; 347 | u8 *buf; 348 | 349 | DLC::SaveData savedata(title.UniqueID, false, true); 350 | 351 | if (R_FAILED(savedata.CurrentResult)) 352 | return savedata.CurrentResult; 353 | 354 | if (R_FAILED(savedata.ReadFileIntoBuffer(buf, "/options.txt", &save_size))) 355 | { 356 | res = savedata.CurrentResult; 357 | savedata.Close(); 358 | return res; 359 | } 360 | 361 | /** 362 | * The DRM goes as follows: 363 | * 1) Ensure the options.txt file is 128KiB 364 | * 2) Ensure the header = the amount of data in the file excluding the header and trailing 0x00 (4 bytes). 365 | * 3) Ensure all purchased content is stored in the purchased_items key in this format: "${GAME_PROD_ID}${CONTENT_ID}". All purchased content must be seperated with commas. 366 | * 4) The latest update data title must be installed, this contains the actual DLC content. 367 | * 5) The DLC must be installed, although it doesn't contain data. The game still checks whether or not it is installed. 368 | * 369 | * What we're doing here is just bruteforcing every content ID from 0x00 until 0xFF because the game doesn't check for extra IDs. 370 | **/ 371 | 372 | bool at_value = false; 373 | std::string kbuf; 374 | u32 ns = save_size; 375 | 376 | u8 *out_buf = new u8[131072]; 377 | 378 | // Skip the header 379 | for(u32 i = 4, wl = 4; i < save_size + 4; ++i, ++wl) 380 | { 381 | // : 382 | if (buf[i] == 0x3a) 383 | { 384 | at_value = true; 385 | 386 | char region_char = GetMcRegionChar(title.Region); 387 | 388 | if (kbuf == "purchased_items") 389 | { 390 | std::string newk = stringprintf("CTRMBD3%c%08lX", region_char, 0x0); 391 | 392 | for (u32 i = 0x1; i < 0xFF; ++i) 393 | { 394 | newk += stringprintf(",CTRMBD3%c%08lX", region_char, i); 395 | } 396 | 397 | // layout in ret is now 398 | // :<..ids...>\n 399 | // Layout in chars is now 400 | // :<...old user ids... (0+)>\n 401 | // Cut every old user id. 402 | for (u32 j = 0; i < save_size + 3; ++i, ++j) 403 | { 404 | if (buf[i + 1] == '\n') 405 | { 406 | ns -= j; 407 | break; 408 | } 409 | } 410 | 411 | out_buf[wl] = ':'; 412 | for(size_t j = 0; j < newk.size(); ++j, ++wl) 413 | out_buf[wl + 1] = newk[j]; 414 | ns += newk.size(); 415 | 416 | *((u32 *)out_buf) = ns; 417 | continue; 418 | } 419 | 420 | kbuf.clear(); 421 | } 422 | else if (buf[i] == '\n') 423 | at_value = false; 424 | else if (!at_value) 425 | kbuf.push_back(buf[i]); 426 | 427 | out_buf[wl] = buf[i]; 428 | } 429 | 430 | delete [] buf; 431 | 432 | if (R_FAILED(savedata.WriteFileFromBuffer(out_buf, "/options.txt", ns))) 433 | { 434 | delete [] out_buf; 435 | res = savedata.CurrentResult; 436 | savedata.Close(); 437 | return res; 438 | } 439 | 440 | if (R_FAILED(savedata.Close())) 441 | { 442 | delete [] out_buf; 443 | return savedata.CurrentResult; 444 | } 445 | 446 | delete [] out_buf; 447 | 448 | return 0; 449 | } 450 | 451 | Result DLC::Minecraft::Patch() 452 | { 453 | Result res; 454 | u32 titles; 455 | std::vector patch_titles; 456 | 457 | if (R_FAILED(res = DLC::TitlesExist(DLC::Minecraft::Titles, &titles, 3))) 458 | return res; 459 | else if (titles == 0) 460 | return TITLES_NOT_FOUND; 461 | 462 | if (titles & 0x1) // JPN 463 | patch_titles.push_back(&DLC::Minecraft::Titles[0]); 464 | 465 | if (titles & 0x2) // EUR 466 | patch_titles.push_back(&DLC::Minecraft::Titles[1]); 467 | 468 | if (titles & 0x4) // USA 469 | patch_titles.push_back(&DLC::Minecraft::Titles[2]); 470 | 471 | for (const DLC::PatchTitle *&title : patch_titles) 472 | if (R_FAILED(res = DLC::Minecraft::PatchSingle(*title))) 473 | return res; 474 | 475 | return 0; 476 | } 477 | --------------------------------------------------------------------------------