Jump to content

Pokémon Battle Revolution save research thread


Recommended Posts

  • Replies 81
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Well that wasn't my question since for these inputs I would need the TID and SID already for filling these offsets, but I did not have these values. Oh well, fixed my issue in a different way and

@SubSora you need to decrypt the save file first. I've written a little step-by-step guide for you and everyone who is running into this same problem. For hex editing I would suggest using HxD ht

You have to use the encryptSaveSlotAndUpdateChecksums function. I made a quick modification of the tool, the functionality is still similar but now it aks the user if he wants to decrypt or encrypt.

Posted Images

  • 3 months later...

I used Pkhex to edit my save file. But eventhough it says I have pokemon in the storage it also says I don't?

https://i.gyazo.com/a9668154850c18d71bd4dc7043ef8f69.jpg

https://i.gyazo.com/5c898746152ff19b117a8d65ac4c7f58.jpg

I am using Dolphin 5.0. It is pretty funny.

I did not had Pokemon in the storage before editing, I used a clean save file did not copy any pokemon from DS(obviously). My humble guess is the storage system unlocks when you actually copy a pokemon for the first time.

Edited by ddhelmet
Link to post
Share on other sites
  • 7 months later...

I've recently been trying to save edit PBR, and have used the decrypting tool that was posted here. However, I have an issue now, where I can't re-encrypt the edited save file after changing things around in the hex editor. How do I do that?

Link to post
Share on other sites
1 hour ago, James123 said:

I've recently been trying to save edit PBR, and have used the decrypting tool that was posted here. However, I have an issue now, where I can't re-encrypt the edited save file after changing things around in the hex editor. How do I do that?

You have to use the encryptSaveSlotAndUpdateChecksums function.
I made a quick modification of the tool, the functionality is still similar but now it aks the user if he wants to decrypt or encrypt.

When decrypting it reads PbrSaveData and decrypts it to PbrSaveData_decrypted_current and PbrSaveData_decrypted_backup.
When encrypting it reads PbrSaveData_decrypted_current and PbrSaveData_decrypted_backup and encrypts it to PbrSaveData.
Be sure those files are always present in the tools directory and also keep backups just in case!

Source

pbrsavetool.zip

  • V-Wheeeeeel!!! 1
Link to post
Share on other sites
22 hours ago, BlackShark said:

You have to use the encryptSaveSlotAndUpdateChecksums function.
I made a quick modification of the tool, the functionality is still similar but now it aks the user if he wants to decrypt or encrypt.

When decrypting it reads PbrSaveData and decrypts it to PbrSaveData_decrypted_current and PbrSaveData_decrypted_backup.
When encrypting it reads PbrSaveData_decrypted_current and PbrSaveData_decrypted_backup and encrypts it to PbrSaveData.
Be sure those files are always present in the tools directory and also keep backups just in case!

Source

pbrsavetool.zip

Awesome! Thank you so much for this, it helped a lot.

Anyway, I think I already found something pretty interesting. At first, I was just trying to edit my rental pass trainer's skin tone, but I accidentally stumbled across something neater than that. By editing 0x23895 (where my first/main rental pass is) from 06 to 07, I was able to change my trainer to Lucas from DP. His trainer class is considered "Young Boy A" in the game, although he has his own unique animations. Weirdly enough, his Battle Pass portrait is messed up; it zooms in on his legs rather than his face or full body!
I'll try more values to see if Dawn, the boss trainers, or alternate skin tones are available.

Edit: I have just tested out values 08, 09, 0A, 0B, and 0D. 08 let me play as Dawn, who is also called "Young Boy A". 09, 0A, 0B and 0D crashed the game upon loading Battle Passes.

Basically: 07 = Lucas, 08 = Dawn. 06 and under are all legal trainer classes.

I've also found out where the skin tone is determined. It is at offset 0x23A62. The default (A) skin tone is 0, but setting it to 1 will change it to B, the slightly darker one. Setting it to 2 will likely make it C. It was probably located here since the Japanese version didn't let you change skin tones, so they placed the setting in a near-inaccessible location.

Lucas battle pass.jpg

I've also been trying to search for where rental Pokemon are located, but haven't had any luck so far. Any help would be greatly appreciated!

Edited by James123
Link to post
Share on other sites
  • 1 month later...

Well, since nowhere info about it, I searched through sea of hex and sharing found offsets with TID/SID of synced DS save:

First save slot
TID:
First byte - 0x12867 
Second byte - 0x12860
SID:
0x12865-0x12866

Second save slot
TID:
First byte - 0x82767
Second byte - 0x82760
SID:
0x82765-0x82766

Third save slot
TID:
First byte - 0xF2667
Second byte - 0xF2660
SID:
0xF2665-0xF2666

Fourth save slot
TID:
First byte - 0x162567
Second byte - 0x162560
SID:
0x162565-0x162566

So, those allowing to use custom passes, blackjack and other, since probably just this offsets used for synchronize check. Maybe not, but who cares?

 

 

Edited by Akunoko
Link to post
Share on other sites
  • 3 months later...
6 minutes ago, N. Harmonik said:

Pardon me! I used SaveGame Manager GS on the Homebrew Channel in order to obtain my PBR file so that I can recreate some Pokémon that were lost. When I attempted to open it in PKHex, however, this occurs:

 

28233712_10160099031500541_296335476_n.png

The correct size of a Battle Revolution save file is 0x380000 (3670016) bytes, not 0x38F580 (3732864) bytes.

Link to post
Share on other sites
2 hours ago, N. Harmonik said:

How strange. I downloaded a file with all 493 Pokémon and 18 boxes completely full yet it was still smaller than my file. Why is that?

As Kaphotics said Battle Revolution save files should always have the same size which is exactly 3670016 bytes. The amount of Pokemon has nothing to do with the size. If your save is larger something must have gone wrong during the export in Save Game Manager. Just try again.

Link to post
Share on other sites
3 hours ago, BlackShark said:

As Kaphotics said Battle Revolution save files should always have the same size which is exactly 3670016 bytes. The amount of Pokemon has nothing to do with the size. If your save is larger something must have gone wrong during the export in Save Game Manager. Just try again.

At the risk of sounding dumb, what is the difference between "Extract" and "Compress" in SaveGame Manager GX?

 

I've obtained the data twice and it's still the same size.

Link to post
Share on other sites

Could this be related to the issue and a solution?

On 9/7/2017 at 7:04 PM, BlackShark said:

You have to use the encryptSaveSlotAndUpdateChecksums function.
I made a quick modification of the tool, the functionality is still similar but now it aks the user if he wants to decrypt or encrypt.

When decrypting it reads PbrSaveData and decrypts it to PbrSaveData_decrypted_current and PbrSaveData_decrypted_backup.
When encrypting it reads PbrSaveData_decrypted_current and PbrSaveData_decrypted_backup and encrypts it to PbrSaveData.
Be sure those files are always present in the tools directory and also keep backups just in case!

Source

pbrsavetool.zip

Are you able to use a different save manager? 

Link to post
Share on other sites

Never mind, silly me, I realized I had to change the Custom Path in SaveGame Manager's settings so that it would go to the SD card and not the USB8 (whatever that is)! Now I can see the extracted data in PKHeX!

Just out of curiosity, how come I can't view Custom Passes that my Pokémon are attached to? I can only see the boxes. I suppose this means I'll just have to move them back.

EDIT: Eheheheheh, it seems switching my Pokémon does nothing, due to the fact that my Pokémon are set to my boxes. The ones that I want are set to my Party Pokémon Box which isn't visible in PKHeX.

Edited by N. Harmonik
Link to post
Share on other sites
  • 1 month later...

@SubSora there is a solution for this, @Akunoko already posted it back in October. To unlock all the stuff like custom passes, your TID has to be written to the mentioned offsets.

On 26.10.2017 at 10:31 AM, Akunoko said:

Well, since nowhere info about it, I searched through sea of hex and sharing found offsets with TID/SID of synced DS save:


First save slot
TID:
First byte - 0x12867 
Second byte - 0x12860
SID:
0x12865-0x12866

Second save slot
TID:
First byte - 0x82767
Second byte - 0x82760
SID:
0x82765-0x82766

Third save slot
TID:
First byte - 0xF2667
Second byte - 0xF2660
SID:
0xF2665-0xF2666

Fourth save slot
TID:
First byte - 0x162567
Second byte - 0x162560
SID:
0x162565-0x162566

So, those allowing to use custom passes, blackjack and other, since probably just this offsets used for synchronize check. Maybe not, but who cares?

Unfortunately there's currently no tool for that yet so it needs to be done manually with the use of an Hex Editor.

  • Like 1
Link to post
Share on other sites

@SubSora you need to decrypt the save file first. I've written a little step-by-step guide for you and everyone who is running into this same problem.

For hex editing I would suggest using HxD https://mh-nexus.de/en/downloads.php?product=HxD but any other Hex Editor should work though.

 

First of all, always keep a backup of your save file!

  1. get pbrsavetool from my post above
  2. extract pbrsavetool.exe into the same directory where your PbrSaveData file is located
  3. run pbrsavetool
    1. a command line window will open asking you whether you want to decrypt or encrypt your save data
    2. put in d to decrypt
    3. this will create two new files in the same directory, PbrSaveData_decrypted_backup (this is not an actual backup file!) and PbrSaveData_decrypted_current
  4. open PbrSaveData_decrypted_current in your Hex Editor
  5. get your TID and SID and convert them into hexadecimal (windows calculator has a programmers mode which can help you to do that or just use google)
    1. example: my TID is 12345 so in hex it is 0x3039, my SID is 54321 which is 0xD431
  6. now navigate to the above mentioned offsets for the save slot you used
    1. how to do this depends on the programm you are using
    2. in HxD go to Search -> Goto..., in Hex Workshop go to Edit -> Goto...
    3. alternatively you could press Ctrl + G
    4. make sure it's set to hex and enter the offset you want to go to
  7. for the first slot go to offset 0x12867 and change the value at this location to the first byte of your TID (in my case it's 30)
  8. now go to offset 0x12860 and change it to the second byte of your TID (39 in my case)
  9. next is your SID, the first byte (D4) goes to offset 0x12866, the second one (31) goes to 0x12865
  10. save your changes by overwriting PbrSaveData_decrypted_current
  11. run pbrsavetool to re-encrypt your save file
    1. this time choose e to encrypt your file and fix all the checksums
    2. your original PbrSaveData file in this directory will be updated
    3. PbrSaveData_decrypted_backup and PbrSaveData_decrypted_current are not needed anymore and can be deleted
  • Like 2
Link to post
Share on other sites

@BlackShark First,thank you very mutch fore your ansxer, but I am sincerely sorry for the inconvenience, but I search the net, I found nothing about TID and SID, I just know that was trainer id and secret id, but where I found my TID and SID, I don't know ^^' 

Edited by SubSora
Link to post
Share on other sites

i just see that x) I connected the two neurons that I had and I understood that it was necessary to just look at it on the pokemon via pkhex, still sorry for the inconvenience and a big thank you for your patience :)

Link to post
Share on other sites

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...