Jump to content

Recommended Posts

Posted (edited)

Mass Dumper

This program is an extension of KeySAV which allows the user to dump the info of multiple boxes at once, instead of being restricted to 1 box at a time.

SUPPORTS BOTH RETAIL CARTRIDGES AND DIGITAL COPIES

sl3G1.jpg

You cannot use someone else's data.

Can export to CSV for thorough data output (moves,ball) for Trade Threads.

This program does not export any files from your save file. Only views it.

Thanks to OmegaDonut for dumps, testing, and original concept with KeySAV.

This program requires you to have your Blank file from KeySAV.

Mass Dumper can use keystreams obtained from KeySAV, or you can generate longer keystreams for multi-box dumping by using the second tab.

Basic Tutorial

Tab 2: To dump a multi-box key, empty all of your boxes (to Bank) for a desired Start & End range and then open the emptied save file (which you did the save-twice method).

Press Dump Key for Box Range and save your new multi-key.

Tab 1: Then, just use that multi-box key in the first tab with another (non-empty) save file.

All of the data will spit out into the text box!

Since this program allows multiple box output, if you have ever switched boxes you'll likely run into some dumping errors.

If you're able to empty all boxes you should probably do so and dump a 1-30 Box Key instead.

Source code available on my GitHub.

Mass Dumper.zip

Mass Dumper.zip

Edited by Kaphotics
Posted

Thank You!

Kaphotics and OmegaDonut, you guys are on fire :D

Awesome program loving the .csv view with all the information.

But I've come across a problem in the exported .csv. It says my moves are Wrap, Leer, Psychic and Extreme speed but this is wrong my moves are Wrap, Leer, Dragon Dance and Extreme Speed. With my egg moves I thought to see Dragon dance and Extreme Speed but instead I see Disable and Mega Kick :tongue:. If you need to see the .csv let me know and I'll upload it.

Posted (edited)

Edit: Got everything to work except box key 1,31. Downloaded latest one.

Edited by tcr
  • 3 weeks later...
Posted (edited)

if i have not 'unlocked' all the boxes, say i just have 7 in the pc, i can still dump all of the 31 box keys right?

-edit. i think two people above say the same thing, but just to add, when i dump the keys for boxes 1-31, i just get errors when i use them. so if this makes three of us, it seems there's a problem with it right?

but still, thank you for this!

also, what are the key bin.bak files for? i opened the contents up with a hex editor and the beginning was different to the .bin file...?

Edited by ifyfg
Posted
if i have not 'unlocked' all the boxes, say i just have 7 in the pc, i can still dump all of the 31 box keys right?

-edit. i think two people above say the same thing, but just to add, when i dump the keys for boxes 1-31, i just get errors when i use them. so if this makes three of us, it seems there's a problem with it right?

but still, thank you for this!

also, what are the key bin.bak files for? i opened the contents up with a hex editor and the beginning was different to the .bin file...?

The problem is simple "Blank.ekx" is wrong, Kaphotics made a mistake here, he generates an "empty egg ekx" instead of an "empty ekx", there are language specific diffrences, for example: german uses "Ei", not "Egg", but a real empty ekx is just 0x00 + encryption.

The *.bak file is generated after trying to fix this "Egg" mistake, but it doesn't always work, this is why you're getting errors.

Blank.ekx is the same for every save/user, no matter what language you are having, he just needs to correct this error.

Posted
The problem is simple "Blank.ekx" is wrong, Kaphotics made a mistake here, he generates an "empty egg ekx" instead of an "empty ekx", there are language specific diffrences, for example: german uses "Ei", not "Egg", but a real empty ekx is just 0x00 + encryption.

The *.bak file is generated after trying to fix this "Egg" mistake, but it doesn't always work, this is why you're getting errors.

Blank.ekx is the same for every save/user, no matter what language you are having, he just needs to correct this error.

yes i saw something about making sure the 'selected region' is correct in a message box, but i did not see any option where to set my region etc...?

and the blank.ekx file works for box 1 and 2, it seems, at least, i am able to dump those boxes... so it really has an error?

i don't understand how it all works though :)

Posted
yes i saw something about making sure the 'selected region' is correct in a message box, but i did not see any option where to set my region etc...?

and the blank.ekx file works for box 1 and 2, it seems, at least, i am able to dump those boxes... so it really has an error?

i don't understand how it all works though :)

I have a fully decrypted save (not just boxes) and all my checksums match, so yes there is an error.

This is how a real empty ekx looks like:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  00 00 00 00 00 00 00 00 00 00 7E E9 71 52 B0 31  ..........~éqR°1
00000010  42 8E CC E2 C5 AF DB 67 33 FC 2C EF 5E FC C5 CA  BŽÌâůÛg3ü,ï^üÅÊ
00000020  D6 EB 3D 99 BC 7A A7 CB D6 5D 78 91 A6 27 8D 61  Öë=™¼z§ËÖ]x‘¦'.a
00000030  92 16 B8 CF 5D 37 80 30 7C 40 FB 48 13 32 E7 FE  ’.¸Ï]7€0|@ûH.2çþ
00000040  A3 DF 69 3D 9E 63 29 1D 8D EA 96 62 68 92 97 A3  £ßi=žc)..ê–bh’—£
00000050  49 1C 03 6E AA 31 89 AA C5 D3 EA C3 D9 82 C6 E0  I..nª1‰ªÅÓêÃÙ‚Æà
00000060  5C 94 3B 4E 5F 5A 28 24 B3 FB E1 BF 8E 7B 7F 00  \”;N_Z($³ûá¿Ž{..
00000070  C4 40 48 C8 D1 BF B6 38 3B 90 23 FB 23 7D 34 BE  Ä@HÈÑ¿¶8;.#û#}4¾
00000080  00 DA 6A 70 C5 DF 84 BA 14 E4 A1 60 2B 2B 38 8F  .ÚjpÅß„º.ä¡`++8.
00000090  A0 B6 60 41 36 16 09 F0 4B B5 0E 26 A8 B6 43 7B  *¶`A6..ðKµ.&¨¶C{
000000A0  CB F9 EF 68 D4 AF 5F 74 BE C3 61 E0 95 98 F1 84  ËùïhÔ¯_t¾Ãaà•˜ñ„
000000B0  BA 11 62 24 80 CC C4 A7 A2 B7 55 A8 5C 1C 42 A2  º.b$€Ìħ¢·U¨\.B¢
000000C0  3A 86 05 AD D2 11 19 B0 FD 57 E9 4E 60 BA 1B 45  :†..Ò..°ýWéN`º.E
000000D0  2E 17 A9 34 93 2D 66 09 2D 11 E0 A1 74 42 C4 73  ..©4“-f.-.à¡tBÄs
000000E0  0B 2B 23 F2 43 28 54 A6                          .+#òC(T¦

The Party extra:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

000000E0                          00 00 7E E9 71 52 B0 31          ..~éqR°1
000000F0  42 8E CC E2 C5 AF DB 67 33 FC 2C EF 5E FC C5 CA  BŽÌâůÛg3ü,ï^üÅÊ
00000100  D6 EB 3D 99                                      Öë=™

this empty ekx needs to be used to dump:

- party

- box 1-31

- battle box

Posted

To fix it just download & use the private versions instead.

(KeySAV)

(Mass Dumper)

this problem only exists because I hid one textbox in the public version (not because my method was wrong :P)

GameFreak doesn't properly clear out a slot if an egg is moved, which leaves "Egg"(language) & region data behind; that has to be removed in order to obtain a pure keystream. The only problem is, I didn't allow editing for the name of the egg!

blank is short for blank egg; if the checksum compare of the decrypted Pokemon fails, the program XORs out the blank and XORs in the encrypted zeroes in attempt to "fix" the keystream. In your case, it fails because the "Name" in that slot wasn't "Egg" or "", it was your language specific one.

(If you XOR a blank save & a heavily used sav, you can see these decrypted blankegg remnants: )

v9wH8.jpg

it's required to remove them for a pure keystream :D

So for when you use these two, just enter your language Egg name and dump your blank & keys; from then on, just use the private versions that are linked.

Posted

a problem with the private one that the public one didn't seem to have, when selecting a save file to open, it only lets us select .bin files, sure i an just rename it .sav, but i don't think the public version had this little problem :) also, when i go to save k2, it saves as the same file name as k1 did. (although i just choose to save it as the correct name anyway)

ok, so using the keysav from the first link, i can get my key1, key2, and blank files. it seems that the keyfiles are not working with the private keysav.

with the old keysav, using the blank.ekx file got from the old keysav works. using the one from the new private one works too.

using the old keysav, using the k1 from the old keysav works, using the new one from the private keysav does not work.

i entered タマゴ as the name of the egg, since my game is japanese.

with the new massdumper, i give it a save where all 31 boxes are empty, and the new Blank.ekx from the private keysav, and it created the KS 1-31 file, but when i load the concatenated key file 1-31 in the box dumper tab, i get 'incorrect boxkey file size loaded', and it doesn't work. if i give it the same save with 1-31 empty, but tell it to give me a KS of 1-30 instead of ending at 31, the resulting file works perfectly with the box dumper... :)

using the old massdumper with the keys1-30, save file, and blank.skx that works with the new massdumper, i get no output, so maybe it should be taken down?

anyway, thanks for all the work on this :) i understand this isn't supposed to be the most user friendly and bug free program in the world :) i have my 1-30 keys and it seems to work for all 3 of my boxes on this save, so i'm happy :)

  • 3 weeks later...
Posted

hi

i am new to this

i have the power save

when i back up the save i get a .bin file (1 mb)

can anyone teach me how to get the other files to compete the process ?

Posted
hi

i am new to this

i have the power save

when i back up the save i get a .bin file (1 mb)

can anyone teach me how to get the other files to compete the process ?

You have to use both Mass Dumper and KeySAV. Instructions for how to use both programs are contained within the first post of their respective threads. For save files you need to make 3 backups using powersaves. 1) backup your game with no pokemon in any box (assuming you want ability to dump all boxes), 2) backup your game with 6 pokemon in box 1, 3) backup your game with same 6 pokemon in box 2. Once you have those three .bin files follow the instructions for KeySAV to get your Blank file, which you can then use in MassDumper.

Posted
You have to use both Mass Dumper and KeySAV. Instructions for how to use both programs are contained within the first post of their respective threads. For save files you need to make 3 backups using powersaves. 1) backup your game with no pokemon in any box (assuming you want ability to dump all boxes), 2) backup your game with 6 pokemon in box 1, 3) backup your game with same 6 pokemon in box 2. Once you have those three .bin files follow the instructions for KeySAV to get your Blank file, which you can then use in MassDumper.

thanks

so , every time i want to use that , i must create new keystream and blank file ?

Posted
thanks

so , every time i want to use that , i must create new keystream and blank file ?

No. I'm not sure if the keystream and blank are specific to save game or cart. But if you just backup another save later in time using the same cart and game? you can use the keystream and blank from before. So Mass Dumping is really quick, just make a backup and dump.

  • 2 weeks later...
Posted

So for when you use these two, just enter your language Egg name and dump your blank & keys; from then on, just use the private versions that are linked.

Hi I'm currently using KeySav for boxes 1 and 2 because I get the 'Failed: CHK' error when trying to use MassDumper for 1-30. I have Pokemon X Retail and Pokemon Y Digital. I've tried the public and private versions and get the error on both retail and digital regardless of whether I'm using the private or public version. I have a US 3DS and English language games.

Obviously I'm clueless because I'm not sure what is meant by 'enter' the language Egg name to re-dump proper blank & keys. Do I need to download the program PKHex to do this? Any help would be appreciated, and until then I'll be happily using just Box 1 & 2 in my games to check TSVs/ESVs.

Thanks a million for the hard work Kaphotics.

  • 2 months later...
Posted
I have a fully decrypted save (not just boxes) and all my checksums match, so yes there is an error.

This is how a real empty ekx looks like:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  00 00 00 00 00 00 00 00 00 00 7E E9 71 52 B0 31  ..........~éqR°1
00000010  42 8E CC E2 C5 AF DB 67 33 FC 2C EF 5E FC C5 CA  BŽÌâůÛg3ü,ï^üÅÊ
00000020  D6 EB 3D 99 BC 7A A7 CB D6 5D 78 91 A6 27 8D 61  Öë=™¼z§ËÖ]x‘¦'.a
00000030  92 16 B8 CF 5D 37 80 30 7C 40 FB 48 13 32 E7 FE  ’.¸Ï]7€0|@ûH.2çþ
00000040  A3 DF 69 3D 9E 63 29 1D 8D EA 96 62 68 92 97 A3  £ßi=žc)..ê–bh’—£
00000050  49 1C 03 6E AA 31 89 AA C5 D3 EA C3 D9 82 C6 E0  I..nª1‰ªÅÓêÃÙ‚Æà
00000060  5C 94 3B 4E 5F 5A 28 24 B3 FB E1 BF 8E 7B 7F 00  \”;N_Z($³ûá¿Ž{..
00000070  C4 40 48 C8 D1 BF B6 38 3B 90 23 FB 23 7D 34 BE  Ä@HÈÑ¿¶8;.#û#}4¾
00000080  00 DA 6A 70 C5 DF 84 BA 14 E4 A1 60 2B 2B 38 8F  .ÚjpÅß„º.ä¡`++8.
00000090  A0 B6 60 41 36 16 09 F0 4B B5 0E 26 A8 B6 43 7B  *¶`A6..ðKµ.&¨¶C{
000000A0  CB F9 EF 68 D4 AF 5F 74 BE C3 61 E0 95 98 F1 84  ËùïhÔ¯_t¾Ãaà•˜ñ„
000000B0  BA 11 62 24 80 CC C4 A7 A2 B7 55 A8 5C 1C 42 A2  º.b$€Ìħ¢·U¨\.B¢
000000C0  3A 86 05 AD D2 11 19 B0 FD 57 E9 4E 60 BA 1B 45  :†..Ò..°ýWéN`º.E
000000D0  2E 17 A9 34 93 2D 66 09 2D 11 E0 A1 74 42 C4 73  ..©4“-f.-.à¡tBÄs
000000E0  0B 2B 23 F2 43 28 54 A6                          .+#òC(T¦

The Party extra:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

000000E0                          00 00 7E E9 71 52 B0 31          ..~éqR°1
000000F0  42 8E CC E2 C5 AF DB 67 33 FC 2C EF 5E FC C5 CA  BŽÌâůÛg3ü,ï^üÅÊ
00000100  D6 EB 3D 99                                      Öë=™

this empty ekx needs to be used to dump:

- party

- box 1-31

- battle box

I have a fully decrypted save (not just boxes)

How did you achieve this? Is there something I'm missing?

Posted
How did you achieve this? Is there something I'm missing?

Try this method. Even though it fully decrypts the savegame data, it won't decrypt the header data needed for re-signing the save. That can only be done by decrypting with the 3DS's AES engine with the proper key.

  • 4 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...