DWC_Authdata NAND File Modifier [Vega] - Printable Version +- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com) +-- Forum: Cheat Codes (https://mariokartwii.com/forumdisplay.php?fid=51) +--- Forum: Misc/Other (https://mariokartwii.com/forumdisplay.php?fid=55) +--- Thread: DWC_Authdata NAND File Modifier [Vega] (/showthread.php?tid=1075) |
DWC_Authdata NAND File Modifier [Vega] - Vega - 02-17-2019 DWC_Authdata NAND File Modifier [Vega] First thing's first, thank you Star!~ This code will permanently change the User ID within your DWC_Authdata file of the Wii NAND. Simply boot your game. After a breif moment (visual glitches may occur), you will be returned back to the Wii Menu. Congratz. Btw, the Return to Wii Menu ability may not work on Dolphin. This is normal, code will still take effect. ZZZ ZZZZ ZZZZ = Your new DWC_Authdata value (in Hex); just use a random value. This code makes use of memory addresses 0x80001620 thru 0x80001627. Make sure no other codes in your GCT/Cheat-Manager are using those addresses!!! NTSC-U 06001620 00000008 00000ZZZ ZZZZZZZZ C20095F4 00000011 3FC08016 4800001D 2F736861 72656432 2F445743 5F415554 48444154 41000000 7C6802A6 38800002 63DDADBC 7FA803A6 4E800021 2C030000 41800038 7C7F1B78 3C808000 60841620 38A00008 63DDB220 7FA803A6 4E800021 2C030008 40820014 7FE3FB78 63DDB2E4 7FA803A6 4E800021 3D80801A 618C87B8 7D8803A6 4E800020 60000000 00000000 PAL 06001620 00000008 00000ZZZ ZZZZZZZZ C2009634 00000011 3FC08016 4800001D 2F736861 72656432 2F445743 5F415554 48444154 41000000 7C6802A6 38800002 63DDAE5C 7FA803A6 4E800021 2C030000 41800038 7C7F1B78 3C808000 60841620 38A00008 63DDB2C0 7FA803A6 4E800021 2C030008 40820014 7FE3FB78 63DDB384 7FA803A6 4E800021 3D80801A 618C8858 7D8803A6 4E800020 60000000 00000000 NTSC-J 06001620 00000008 00000ZZZ ZZZZZZZZ C2009590 00000011 3FC08016 4800001D 2F736861 72656432 2F445743 5F415554 48444154 41000000 7C6802A6 38800002 63DDAD7C 7FA803A6 4E800021 2C030000 41800038 7C7F1B78 3C808000 60841620 38A00008 63DDB1E0 7FA803A6 4E800021 2C030008 40820014 7FE3FB78 63DDB2A4 7FA803A6 4E800021 3D80801A 618C8778 7D8803A6 4E800020 60000000 00000000 NTSC-K 06001620 00000008 00000ZZZ ZZZZZZZZ C200973C 00000011 3FC08016 4800001D 2F736861 72656432 2F445743 5F415554 48444154 41000000 7C6802A6 38800002 63DDAEF8 7FA803A6 4E800021 2C030000 41800038 7C7F1B78 3C808000 60841620 38A00008 63DDB35C 7FA803A6 4E800021 2C030008 40820014 7FE3FB78 63DDB420 7FA803A6 4E800021 3D80801A 618C8BB4 7D8803A6 4E800020 60000000 00000000 List of Sources: Gecko String Write "0x00000ZZZ ZZZZZZZZ" at 0x80001620 ISFS Cycle ASM: #~~~~~~~~~~~~~~~~# # START ASSEMBLY # #~~~~~~~~~~~~~~~~# #~~~~~~~~~~~~~~~# # Address Ports # #~~~~~~~~~~~~~~~# #800095F4 = NTSC-U #80009634 = PAL #80009590 = NTSC-J #8000973C = NTSC-K #~~~~~~~~~~~~~~~~~~~~~~~~~~~# # Source Region Compilation # #~~~~~~~~~~~~~~~~~~~~~~~~~~~# .set region, '' #Fill in E, P, J, or K within the quotes for your region when Compiling! Lowercase letters can also be used. #~~~~~~~~~~~~~~~~~~~~~~# # Macros and Variables # #~~~~~~~~~~~~~~~~~~~~~~# .macro call_isfs address ori r29, r30, \address@l mtlr r29 blrl .endm .macro call_nolink address lis r12, \address@h ori r12, r12, \address@l mtlr r12 blr .endm .if (region == 'E' || region == 'e') # RMCE .set ISFS_Open, 0xADBC .set ISFS_Write, 0xB220 .set ISFS_Close, 0xB2E4 .set Wii_Menu, 0x801A87B8 .elseif (region == 'P' || region == 'p') # RMCP .set ISFS_Open, 0xAE5C .set ISFS_Write, 0xB2C0 .set ISFS_Close, 0xB384 .set Wii_Menu, 0x801A8858 .elseif (region == 'J' || region == 'j') # RMCJ .set ISFS_Open, 0xAD7C .set ISFS_Write, 0xB1E0 .set ISFS_Close, 0xB2A4 .set Wii_Menu, 0x801A8778 .elseif (region == 'K' || region == 'k') # RMCK .set ISFS_Open, 0xAEF8 .set ISFS_Write, 0xB35C .set ISFS_Close, 0xB420 .set Wii_Menu, 0x801A8BB4 .else # Invalid Region .err .endif #~~~~~~~~# # Start # #~~~~~~~~# lis r30, 0x8016 #Set 1st half address for ISFS Functions #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# # ISFS_Open Arguments # # r3 = Path to File # # r4 = Permission Byte (1 Read, 2 Write) # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# bl file_path .llong 0x2F73686172656432 #String name of /shared2/DWC_AUTHDATA .llong 0x2F4457435F415554 .llong 0x4844415441000000 file_path: mflr r3 li r4, 0x2 call_isfs ISFS_Open cmpwi r3, 0x0 blt- the_end mr r31, r3 #Backup file descriptor #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# # ISFS_Write Arguments # # r3 = File Descriptor # # r4 = Address Pointer to String of Data to be Written # # r5 = Amount of Bytes to Write # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# lis r4, 0x8000 ori r4, r4, 0x1620 li r5, 0x8 call_isfs ISFS_Write cmpwi r3, 0x8 bne- the_end #~~~~~~~~~~~~~~~~~~~~~~# # ISFS_Close Arguments # # r3 = File Descriptor # #~~~~~~~~~~~~~~~~~~~~~~# mr r3, r31 #Move backed up file descriptor to r3 call_isfs ISFS_Close #~~~~~# # End # #~~~~~# the_end: call_nolink Wii_Menu #~~~~~~~~~~~~~~# # END ASSEMBLY # #~~~~~~~~~~~~~~# Code creator: Vega Code credits: Star (helped with Source), Megazig (ISFS functions founder) |