Jump to content

Pokémon Battle Revolution save research thread


Tux

Recommended Posts

  • 4 weeks later...
2 hours ago, Kaphotics said:

Oh! So I...have to edit something like in that github link or is this an update that's coming soon? If it's the former, can you please tell me exactly how so as to minimize the chances of me screwing it up! :PSMD-Teary-Eyed: Oh my beloved Pearl Pokémon...!

Edited by N. Harmonik
Link to comment
Share on other sites

25 minutes ago, N. Harmonik said:

Oh! So I...have to edit something like in that github link or is this an update that's coming soon? If it's the former, can you please tell me exactly how so as to minimize the chances of me screwing it up! :PSMD-Teary-Eyed: Oh my beloved Pearl Pokémon...!

Basically means that he got it working, and will be available for use during the next major update.

If you're impatient, you can compile it and run it (if you know how to do that), else you gotta wait

  • Amazed 1
Link to comment
Share on other sites

1 minute ago, theSLAYER said:

Basically means that he got it working, and will be available for use during the next major update.

If you're impatient, you can compile it and run it (if you know how to do that), else you gotta wait

Ah, okay! I'll be as patient as a Wobbuffet! Thank you very much!

  • Like 1
Link to comment
Share on other sites

  • 3 months later...
  • 4 weeks later...

I want to modify my PBR file but I have a problem: have downloaded dolphin 5.0 and created a PBR account. PkHex lets me modify the file perfectly, and after saving the main I run the game but the pokemon aren't in the storage. Am I doing something wrong? I need smoething more? Please I want to modify the file

Link to comment
Share on other sites

6 hours ago, Lucariokiwi2 said:

I want to modify my PBR file but I have a problem: have downloaded dolphin 5.0 and created a PBR account. PkHex lets me modify the file perfectly, and after saving the main I run the game but the pokemon aren't in the storage. Am I doing something wrong? I need smoething more? Please I want to modify the file

If the box storage wasn't already enabled, PKHeX won't enable it automatically.

Nobody has figured out how to turn it on.

Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...

I've returned, wondering whether or not I should copy the data of my lost Pokémon to the Gen IV game they originated or put them in the most recent game possible. Say, when Pokémon are transferred through generations, do they pick up, er, markers detailing where they've been?

Link to comment
Share on other sites

  • 2 weeks later...

Hello,

I'm on Dolphin and I haven't managed to unlock the storage.
I tried using the help of @BlackShark, but I haven't managed to unlock it.

So I looked for an English backup with some Pokémon, and I managed to change the storage with PKHeX.
The problem is that I would now play in French, my native language (I don't understand much English mdr, and the voice of the french narrator is so cool.).

So I thought of several solutions, one of them is it possible ?
- Change the language of a Wii save ?
- Find a french save with unlocked storage ? (I searched, I did not find)

Thanks in advance for an answer, and sorry for the spelling. ^^

Edited by Libégon
fail
Link to comment
Share on other sites

  • 2 months later...

Hi guys, I've been trying to edit my PBR save with PKHex but I'm not getting results. I used the decryption tool someone posted, and I currently have the original "PbrSaveData" which I THINK is the one I was looking for, at 3,584 kb, then the  "PbrSaveData_decrypted_backup" and  "PbrSaveData_decrypted_current" both at 1,792 kb. When I try to load the decrypted files on PKHex it says invalid size and when I load the untouched save file it throws an out of range index error, which I can provide if needed but it's long and you guys probably know what it means. Also I noticed Hex doesn't have a template for PBR in the settings, only the main and GameCube games, in the settings menu. Am I missing some plugin?

 

Any ideas? The file was generated in Dolphin emulator, Android version. If you need files or additional info I'll provide.

 

Link to comment
Share on other sites

2 hours ago, KTVX94 said:

Hi guys, I've been trying to edit my PBR save with PKHex but I'm not getting results. I used the decryption tool someone posted, and I currently have the original "PbrSaveData" which I THINK is the one I was looking for, at 3,584 kb, then the  "PbrSaveData_decrypted_backup" and  "PbrSaveData_decrypted_current" both at 1,792 kb. When I try to load the decrypted files on PKHex it says invalid size and when I load the untouched save file it throws an out of range index error, which I can provide if needed but it's long and you guys probably know what it means. Also I noticed Hex doesn't have a template for PBR in the settings, only the main and GameCube games, in the settings menu. Am I missing some plugin?

 

Any ideas? The file was generated in Dolphin emulator, Android version. If you need files or additional info I'll provide.

 

PKHeX can read encrypted pbr saves. No need to decrypt with other tools after you extract it from PBR.

Link to comment
Share on other sites

1 hour ago, Kaphotics said:

PKHeX can read encrypted pbr saves. No need to decrypt with other tools after you extract it from PBR.

Okay I tried opening it as is, and got the following error:

Quote

Exception Details:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at PKHeX.Core.SAV4BR.set_CurrentSlot(Int32 value)
   at PKHeX.Core.SAV4BR..ctor(Byte[] data)
   at PKHeX.Core.SaveUtil.GetVariantSAVInternal(Byte[] data)
   at PKHeX.Core.SaveUtil.GetVariantSAV(Byte[] data)
   at PKHeX.Core.FileUtil.GetSupportedFile(Byte[] data, String ext, SaveFile reference)
   at PKHeX.WinForms.Main.OpenFile(Byte[] input, String path, String ext)
   at PKHeX.WinForms.Main.OpenFromPath(String path)

Loaded Assemblies:
--------------------
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll

PKHeX, Version=19.5.15.0, Culture=neutral, PublicKeyToken=null
D:\Juegos\Wii\PKHeX.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

PKHeX.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
D:\Juegos\Wii\PKHeX.Core.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll

System.Windows.Forms.resources, Version=4.0.0.0, Culture=es, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms.resources\v4.0_4.0.0.0_es_b77a5c561934e089\System.Windows.Forms.resources.dll

mscorlib.resources, Version=4.0.0.0, Culture=es, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_es_b77a5c561934e089\mscorlib.resources.dll

--------------------
User Message:
Unable to load file.
Path: D:\Juegos\Wii\PbrSaveData
 

Here's the file, in case it's needed. 

PbrSaveData

Link to comment
Share on other sites

  • 1 month later...
On 4/17/2018 at 11:26 PM, BlackShark said:

@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

So I'm wondering all this time, how I would get the TID and SID of my user profile.

All I get from PKHeX is the user profile name, but since there is no Pokémon, I cannot look at the Trainer TID and SID there and from debugging and looking at the values, I'm not sure, if the values are even extracted.

If you have a good way of getting the TID and SID, I would greatly appreciate your help, even if it's just the HeX value of where it is stored in my decrypted save file!

  • Like 1
Link to comment
Share on other sites

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 it might be helpful for others and research to explain this.

 

So my problem:
I want to have a compatible German save, however the saves are language locked, so most of the files you find are in English (the same problem can be probably found every over language).
 

So how do you tackle that?

What I did was to look into the decrypted save of a freshly generated German save file and an English one I found online.

After that I tried to change some lines in the English save to the German one, so that I might get the German property.

This gets me the following steps:

Apparently if you take a PBR Save file with any language, get the following tool for decompression: https://projectpokemon.org/home/forums/topic/36582-pok%C3%A9mon-battle-revolution-save-research-thread/page/2/?tab=comments#comment-219653

Decrypt the save and edit the following lines in a hex editor:

0x000380-0x00039F to: 80 00 00 00 01 00 00 00 40 72 05 75 D3 5B 08 00 00 42 00 65 00 6E 00 65 00 00 00 00 00 00 00 00

and 0x0003C1 to: 4D

Encrypt it and it changes the name to "Bene", the save timer value is changed and the language is German!

Yeah and that is my discovery here.
Some further investigation can be made, which values change what and what the language value is and what it is for other languages and et volà, you can change the lanuage of a save file!

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Hey, I'm having problems getting my SID and TID.  I tried opening a bunch of different saves in PKHeX and it reads them all as BATREV, but it lists my TID and SID as 00000.  What is the exact file i need to to load into PKHeX in order to get TID and SID?

Link to comment
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...