Tutorial  Updated

Get your private header using PowerSaves

So, I've completely re-done this tutorial...
The reason for this is... the first one was kind of... Well... Half Assed
I didn't put much effort into my method and the results were kind of inconsistent.
I spent today dumping all of my games, looking for the headers and seeing what works.. Enjoy The new tut.

Also, The cheapest game available that is guaranteed to work with powersaves is Steel Diver, it is available new on amazon for very little


Requirements:
Powersaves 3DS
A Game Cartridge*
HxD (Freeware)

* Disclaimer (Important)
  • If your game, once inserted into powersaves acts like it has been removed and placed back into the powersaves dongle (Constantly refreshing the save list and displaying unsupported game) THIS WILL NOT WORK WITH THAT GAME
  • By following this method you WILL LOSE YOUR SAVEGAME for the all the rom's you apply your header to, the only way to keep them is to use NTR CFW and the savedata plugin to backup the save beforehand, and then to restore it after you have applied your header. (alternatively you could use savedatafilter if you have a 4.X cfw compatible console)
Methods:
There are two methods I've found, one seems easier but the other seems more reliable
(The methods are now in the spoilers below this sentence)

Powersaves Steps

Step 1. Navigate to /USERNAME/Powersaves3DS and MOVE all of the .bin files to another folder
zqy4bTR.gif



Step 2. Open powersaves and create a savegame backup of the cartridge you want the unique ID from.
YVZdiC6.gif



Step 3. Close powersaves, then open powersaves, then minimize it. (Yes this necessary, and the powersaves dongle and cart must remain plugged in while doing so)
Qi9saX3.gif





HxD Steps
Step 1.
Open HxD, Press Shift+Ctrl+R and open the ram for PowerSaves3DS.exe
Step 2. Press Ctrl+F and search for "gbatemp).bin"
Step 3. Look in the hex byte area for 00 00 00 88
Your unique ID will be the 16 hex bytes after that and has 48 FF bytes after it. (Like This)

Here's the gif for the hxd steps:
Z7oRJIK.gif


The header may not be in the same place as mine, could be above or a little below... in every instance that I've seen it has been in view of the .bin file we searched
It ALWAYS has 88 Before it, and 48 FF bytes after


Once you have your unique header info you can use it for your backups.
Also, you should probably move your saves back to the powersaves folder



Troubleshooting:

Cant Find 00 00 00 88:
The header may not be in the same place as mine, could be above or a little below... in every instance that I've seen it has been in view of the .bin file we searched
It ALWAYS has 88 Before it, and 48 FF bytes after

Things to try:
Try a different computer, some users were unable to locate their header on their PC, they tried with a family members PC and it magically worked.

There are rare instances where it does not start with 00 00 00 88 it will start with something random like 00 57 A5 88
But ALWAYS 88 and followed by 16 FF bytes


DarkFlare69 - Mario Kart 7
iamBlux - SuperSmash Bros. (USA)
xjoelx - Pokemon Y
Osmosis
xile6
juggernaut911 - Steel Diver
Also, This time I made a video instead of using .gif's


Steps:
1.
Insert Game Cart into Powersaves dongle
2. Open powersaves
3. Open HxD
4. Press Shift+Ctrl+R
5. Double Click "PowerSaves3DS.exe"
6. Press Ctrl+F and search For the text string
Code:
name="Id"; filename="id.bin"
7-1. In the hex byte window (on the left) around 2 lines down from highlighted stuff are the bytes 0D 0A 0D 0A
7-2. The 16 groups of two characters (hex bytes) after 0D 0A 0D 0A is your unique cartridge ID (private header)
7-3. After your private header there will be 48 FF bytes.


Troubleshooting:

Finding it difficult to understand?:
Take a look at the video!

Cant find: name="Id"; filename="id.bin":
I got those errors once or twice, your best bet is to close powersaves and hxd, open powersaves then open hxd again. It's kinda hit and miss, but its more reliable than the other method.



Games That I Tested This Method With:
Working:

Pokemon Y
New Super Mario Bros. 2
Harvest Moon 3D: A New Beginning
Luigi's Mansion: Dark Moon
Scribblenauts Unlimited

Not Working:
Cubic Ninja
Farming Simulator 14



So, you want a .bin file?
If you want to make a .bin of your header (Which you should do)

This is a blank template file,
Follow these steps..
1. Open this .bin with HxD
2. Paste your unique ID as the first 16 bytes
3. Save the file.

I use my header and get error 002-0123:
If you're getting the error 002-0123 when using a rom with your new header, take a look at this thread:
https://gbatemp.net/threads/why-sky3ds-gets-002-0123-even-with-a-private-header.385672/

How do i fix it?
1. Open Sky Army Knife
2. Select latest template file
3. Select the rom that is giving you the error
4. In the "Cart ID" section, change the manufacturer
5. Click "Save to .txt"
6. Open diskwriter, and select our modified template
7. Delete rom from your SD with diskwriter
8. Re-write the rom with the edited template we made
9. Cycle through the games on your sky3ds so that it refreshes
10. Play Game

(If you still get the error, Repeat steps 4 to 9 but change the manufacturer to something DIFFERENT)

My Savegame is corrupt:
You, should have read the disclaimer.


Suggestions
Get These Tools:
Sky Army Knife - By Foxi4, A multi-tool for Sky3DS users. (Used for changing various parts of the template for each game)
No Ban Sky - By hackotedelaplaqu, patch all games in the template file with your unique ID.
 
Last edited by LameNobody,

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country
I've had the same amount of success with both methods, I don't know what makes me so lucky...
But, if one fails, try the other I guess.

Glad it worked for you


I'll be getting another EUR MHU4 cart tomorrow with a bit of luck so I can test and confirm the "Old" method works and that the ID's that we believe are the headers are in fact different.
 

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country
What precedes the header seems to vary, making the second method more accurate.

Do you know if what precedes the header depends on the cart or depends on the user? That is, in my case the string was always the same (7 games), so maybe it depends on the registration key.

If each user has its "own" preceding bytes (and they are always the same), then, one option can be trying to find one key with the 1rst or the 2nd method, and then search for that string in the memory in order to find the 6-7 bytes that precede it (maybe usually ending with 00 00 00 88?).

With these 6-7 bytes one can use the "simplified" method to find the headers for the rest of games.

(Indeed this is what I did. After spending a lot of time to find 3 headers using the 1rst and 2nd methods, I searched for the bytes preceding my headers and then I found the rest of headers very fast using the "simplified" method.
 
  • Like
Reactions: 4ur0r

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country
Do you know if what precedes the header depends on the cart or depends on the user? That is, in my case the string was always the same (7 games), so maybe it depends on the registration key.

If each user has its "own" preceding bytes (and they are always the same), then, one option can be trying to find one key with the 1rst or the 2nd method, and then search for that string in the memory in order to find the 6-7 bytes that precede it (maybe usually ending with 00 00 00 88?).

With these 6-7 bytes one can use the "simplified" method to find the headers for the rest of games.

(Indeed this is what I did. After spending a lot of time to find 3 headers using the 1rst and 2nd methods, I searched for the bytes preceding my headers and then I found the rest of headers very fast using the "simplified" method.


If you wouldn't mind can you post the string prior to your header and the region of cartridge you are using? Typically it'll be the 3 values prior to 00 00 00 88 like:

Code:
AA BB CC 00 00 00 88

I think this is more likely to be regional rather than your power saves log on/user
 

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country
If you wouldn't mind can you post the string prior to your header and the region of cartridge you are using? Typically it'll be the 3 values prior to 00 00 00 88 like:

Code:
AA BB CC 00 00 00 88

I think this is more likely to be regional rather than your power saves log on/user

My string was in the "original post (#53) :) : 04 58 43 00 00 00 88

The previous byte was already different for the different games

All 7 games are European.

I see that your "24 9F 0F" is very different from "04 58 43", and in both cases we are talking about european games.

Maybe even the final "00 00 00 88" are different for different users. In post #13, Christian Rosado (he has the USA flag in the forum, but I see I also have it (I am going to change it)) was talking about "00 16 00 88 ".
Maybe 00 00 is for European and 00 16 for other regions.

If each user has his "own" string, maybe other users can provide their bytes to see if some relationship can be found.
 

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country
My string was in the "original post (#53) :) : 04 58 43 00 00 00 88

The previous byte was already different for the different games

All 7 games are European.

I see that your "24 9F 0F" is very different from "04 58 43", and in both cases we are talking about european games.

Maybe even the final "00 00 00 88" are different for different users. In post #13, Christian Rosado (he has the USA flag in the forum, but I see I also have it (I am going to change it)) was talking about "00 16 00 88 ".
Maybe 00 00 is for European and 00 16 for other regions.

If each user has his "own" string, maybe other users can provide their bytes to see if some relationship can be found.


I see your point. Well, once I manage to get my hands on another cart (hopefully tomorrow) I'll be able to look at this in more detail and see if my "24 9F 0F" is present. I will also be able to fully confirm that this is indeed a private key that follows as I'll be getting another copy of a game I already own and have the header for, so these should be different from one another.

It is possible that you're onto something and we may be starting to break this HEX down more.

Currently so far I think is is safe to speculate the following:

The 3 hex values previous to "00 00 00 88" are likely to be unique to your install or possibly your product key. It might be worth seeing if anyone who has a powersaves is willing to share their product key, as it is simply held in an .xml file in the powersaves folder. If I were to change my product key to yours for example see if my hex values then change from "24 9F 0F" to "04 58 43".

It also appears that the "00 00 00 88" string has some kind of variance held within it, which could be down to one of three things:
  • The carts region
  • The carts manufacturer
  • Potentially again the powersaves user/licence key
EDIT: I've just had a thought, the 3 hex values previous to "00 00 00 88" may be unique to your 3DS, as obviously you save data to the cartridge.

I wonder if this method works on a brand new cartridge that has never been plugged into a 3DS...
 

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country



http://www.amazon.de/Action-Replay-...TF8&qid=1428489651&sr=8-1&keywords=powersaves

This is the one that I own.

Please note that I personally am NOT YET recommending anyone buy a Power saves to do this method until I manage to:
  1. Test another cartridge that is the same games as one I already have the header for
  2. Test the header with my Sky3DS online
The reason I don't recommend it is so far I can see no evidence at all that anyone has actually tested either point. I can see some people saying 'Thanks' or 'Add me to the working list' but nobody has said yet that 'I have applied a private header extracted with this method to a ROM that I have flashed to my 3DS and online is working fine'.
I will be done with my testing hopefully by Friday (Monday at the latest). It will be then that I have confirmed that the key's are 100% unique from two cartridges that hold the same name and that these headers actually work online with the Sky3DS.
 

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country

The 1st one should be the right one (the one I have): Action Replay 3DS Power Saves (Nintendo 3DS XL/3DS & 2DS)

(The 2nd one is only for pokemon. Probably the hardware is the same, but the key inside the package only allows to access the pokemon codes (the software connects everytime to the server to get the codes of the card inserted))
(The 3rd one is only action replay but it is not powersaves)
 

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country
I think that the information extracted are really the headers. Another issue is if all headers are valid headers for all (or part of) the games.

In a Spanish forum one user said (translated, regarding using a variation of the "1st method"):

With my procedure I got a few headers from original cartridges. (Those headers where exactly the same as the ones got with the GW)

I tested (Smash bros and some other online game with two different headers, one from Mario Kart and one from Super Mario Bros. The Kart header did not work at all, the header from Bros worked in all of the games. I didn't test any other of the obtained headers, so I don't know if they will work in the other cartridges.
 

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country
I think that the information extracted are really the headers. Another issue is if all headers are valid headers for all (or part of) the games.

In a Spanish forum one user said (translated, regarding using a variation of the "1st method"):

With my procedure I got a few headers from original cartridges. (Those headers where exactly the same as the ones got with the GW)

I tested (Smash bros and some other online game with two different headers, one from Mario Kart and one from Super Mario Bros. The Kart header did not work at all, the header from Bros worked in all of the games. I didn't test any other of the obtained headers, so I don't know if they will work in the other cartridges.


Ahh right, well, hopefully we'll be able to fully confirm here on GBATemps that the headers do actually work. My Sky3DS arrived today so I'm now just waiting for my MicroSD card and MicroSD reader to arrive (Hopefully by Friday) so I can start testing.

It'll be nice to have some complete and utter confirmation from someone, because at the moment there is unfortunately a lot of 'he said, she said' and vague responses that don't really properly confirm if this is working.
 

4ur0r

Well-Known Member
Member
Joined
Feb 7, 2015
Messages
392
Trophies
0
XP
599
Country
Italy
Today I dumped succesfully my Street Fighter's 3D edition header using the FIRST method (the one that involves the 48 FF bytes).
No 002-0123 error to me, probably because the chip id of the game is the same as the game that I applied the header (Super Mario Kart).
Only one thing I had to do differently from the guide: I found first the 48 FF bytes and then checked for the 16 bytes before those FF bytes.
I also tried with two other different games: Cubic Ninja and Tetris that leaded to no results, I couldn't even backup the savegame from those games probably because they are not supported by Powersaves.
One more thing: I'll try with other dumps I got with my Sky3DS in order to try to find a pattern to be followed to dump headers more easily.
 

LameNobody

Weighted Companion Cube Enthusiast
OP
Member
Joined
Jan 23, 2015
Messages
466
Trophies
0
Location
127.0.0.1
XP
469
Country
Canada
Today I dumped succesfully my Street Fighter's 3D edition header using the FIRST method (the one that involves the 48 FF bytes).
No 002-0123 error to me, probably because the chip id of the game is the same as the game that I applied the header (Super Mario Kart).
Only one thing I had to do differently from the guide: I found first the 48 FF bytes and then checked for the 16 bytes before those FF bytes.
I also tried with two other different games: Cubic Ninja and Tetris that leaded to no results, I couldn't even backup the savegame from those games probably because they are not supported by Powersaves.
One more thing: I'll try with other dumps I got with my Sky3DS in order to try to find a pattern to be followed to dump headers more easily.

These are the two re-occurring methods I've found.
All the other times the header appeared in a random place.
 

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country
Today I dumped succesfully my Street Fighter's 3D edition header using the FIRST method (the one that involves the 48 FF bytes).
No 002-0123 error to me, probably because the chip id of the game is the same as the game that I applied the header (Super Mario Kart).
Only one thing I had to do differently from the guide: I found first the 48 FF bytes and then checked for the 16 bytes before those FF bytes.
I also tried with two other different games: Cubic Ninja and Tetris that leaded to no results, I couldn't even backup the savegame from those games probably because they are not supported by Powersaves.
One more thing: I'll try with other dumps I got with my Sky3DS in order to try to find a pattern to be followed to dump headers more easily.

Do you remember if the 4 bytes previous to the header were "00 00 00 88" or something similar? In that case, could you also post the 3 bytes previous to those "00 00 00 88" or similar?
 

4ur0r

Well-Known Member
Member
Joined
Feb 7, 2015
Messages
392
Trophies
0
XP
599
Country
Italy
Do you remember if the 4 bytes previous to the header were "00 00 00 88" or something similar? In that case, could you also post the 3 bytes previous to those "00 00 00 88" or similar?

I forgot to mention that the byte (the single one) before the header was 88 but the ones before weren't 0's. I'll post later if I can find them again.
 

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country
Hi,
I have done some more tests, and like LameNObody said, the 3 bytes before 00 00 00 88 were different every time I have restarted the Powersaves program:
- 66 EB 46 00 00 00 88
- 3F DF 0F 00 00 00 88
- 52 E8 06 00 00 00 88
- 4D C0 77 00 00 00 88
- 52 8E 3F 00 00 00 88
- 04 58 43 00 00 00 88

In all my tests (EUR games), the 4 last bytes have been 00 00 00 88.

Once powersaves is started, changing the game seems that does not change the 3 first bytes (I am not sure if memory position is kept), but changes the header. So, knowing 1 header can help you to find the 7 bytes and then changing the cartridge looking for that bytes you can easily find the headers for those new games.
 
  • Like
Reactions: LameNobody

ramon2000

Member
Newcomer
Joined
May 28, 2008
Messages
22
Trophies
0
XP
189
Country
I forgot to mention that the byte (the single one) before the header was 88 but the ones before weren't 0's. I'll post later if I can find them again.

Having the header you have already found for Street Fighter 3D, if you insert again the same game in the dongle, you can look for the header itself in the powersaves program memory, and then find the bytes in front of it.
 
  • Like
Reactions: 4ur0r

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country
Hi,
I have done some more tests, and like LameNObody said, the 3 bytes before 00 00 00 88 were different every time I have restarted the Powersaves program:
- 66 EB 46 00 00 00 88
- 3F DF 0F 00 00 00 88
- 52 E8 06 00 00 00 88
- 4D C0 77 00 00 00 88
- 52 8E 3F 00 00 00 88
- 04 58 43 00 00 00 88

In all my tests (EUR games), the 4 last bytes have been 00 00 00 88.

Once powersaves is started, changing the game seems that does not change the 3 first bytes (I am not sure if memory position is kept), but changes the header. So, knowing 1 header can help you to find the 7 bytes and then changing the cartridge looking for that bytes you can easily find the headers for those new games.


Interesting find! Lets keep it up and find some common ground!
 

Aliogeek

Well-Known Member
Member
Joined
Mar 29, 2013
Messages
93
Trophies
1
XP
1,577
Country
France
There's no way to get a private header with an unsupported game with Powersaves ? Because you can dump save on an unsupported game, the private header is in the save, isn't it ?
 

ManBeaPig

Active Member
Newcomer
Joined
Apr 7, 2015
Messages
27
Trophies
0
Age
29
XP
54
Country
There's no way to get a private header with an unsupported game with Powersaves ? Because you can dump save on an unsupported game, the private header is in the save, isn't it ?


If it's unsupported I assume that the power saves software does not have the decryption key to actually read the cart. If you own a powersaves why not just try it?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    NinStar @ NinStar: It will actually make it worse