Jump to content

Switch Gift Data Manager - Import wondercards into Switch games by faking BCAT packages


SkyLink98
 Share

Recommended Posts

image.png

GitHub Source Code

Download Latest Release

About

This tool aims to make past Mystery Gift event contents back again in all the Pokémon games for Nintendo Switch. Since those games won't allow event injection in the SAV file, this tool creates a forged BCAT package, injectable with homebrews like JKSV.
This allows wondercards to be redeemed through the In-Game Mystery Gift Menu. The use of this tool does not involve hacking the game ROM nor hacking the game SAV.

Video example:

Spoiler

 

Compatible files

  •  Let's Go Pikachu and Let's Go Eevee wondercard full files (.wb7full)
  •  Sword and Shield wondercard files (.wc8)
  •  Brilliant Diamond and Shining Pearl wondercard files (.wb8)
  •  Legends Arceus wondercard files (.wa8)
  • Scarlet & Violet wondercard files (.wc9)
  •  BCAT wondercard files, either with mutiple or single wondercards (no file format extension)

Compatible games

  • Pokémon Let's Go Pikachu and Eevee
  • Pokémon Sword and Shield
  • Pokémon Brilliant Diamond and Shining Pearl
  • Pokémon Legends Arceus
  • Pokémon Scarlet and Violet

Disclosure

Neither I nor the Project Pokémon staff takes any responsibility for possible adverse outcomes or bans due to the use of this tool. Use at your own discretion.
N.B: Some BCAT files contain sensible console-specific informations, which you should keep safe. Don't share your BCAT to others!

Usage Tutorial

The following tutorial refers to the Windows Form app.
The .CommandLine app is currently just a simple script that calls the .Core functions and can run on any popular OS. Its usage is similar to the Windows Form app and should be fairly intuitive.

  1. Ensure you have the required .NET Desktop Runtime 7.0.x correctly installed
  2. Download the latest tool release from GitHub
  3. Dump your game's BCAT with JKSV and keep some copies somewhere safe
    Spoiler
    • Open JKSV from the Homebrew Launcher:
      Spoiler

      2022110618185000-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Select BCAT
      Spoiler

      2022110618190200-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Select yout game of choice
      Spoiler

      2022110618192500-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Press L+R+A while hovering "New" to start the dumping process
      Spoiler

      2022110618192700-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • A folder called "BCAT [DATE] @ [TIME]" will be generated in the SD/JKSV/[Your Game ID]
      Spoiler

      Cattura.PNG

  4. Open the Switch Gift Data Manager tool and select your game of choice
  5. Import wondercard files of your choice (by drag & drop or by clicking the `Open Files` button)
  6. Eventually edit the wondercard id (WCID) if you have invalid WCs and click `Apply` [N.B: doing this step in SV games might result in invalid Pokémon since the preset TID/SID, if present, is tied to the WCID. Read the FAQ for more info]
  7. Click the `Save as BCAT Package` button and select your dumped BCAT folder in the "Source BCAT Path" section
    (the path must lead to the folder containing the files "directories.meta", "etag.bin", "list.msgpack", "na_required", "passphrase.bin")
  8. Click the "Save" button
  9. A folder called "Forged_BCAT_{Game}" should appear next to your dumped BCAT (or in whatever path you selected in "Destination BCAT Path")
  10. Restore the forged Bcat with JKSV
    Spoiler
    • Move your forged BCAT to SD/JKSV/[Your Game ID]
    • Open JKSV and select BCAT
    • Select your game of choice
    • Hover over the forged BCAT and press Y
      Spoiler

      2022110618364300-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    • Press A to confirm
  11. To redeem the old fashion events, open your game -> Menu -> Mystery Gift -> redeem via Internet
  12. When you're done, restore your original BCAT package with JKSV (not doing so may cause sync issues)

N.B: BCAT Sync usually occurs between 12:00 AM (UTC) and 01:00 AM (UTC) if there is new BCAT content in the servers. I suggest to not follow this procedure during that timeframe to avoid a desync. If you experience a desync, follow one of these methods to resync:

  • Open JKSV, select BCAT, hover over your game and press X to open the menu, then click `Reset Save Data`.
    Spoiler

    2022110618423400-DB1426D1DFD034027CECDE9C2DD914B8.jpg

  • Download the latest BCAT for your game from my bcat_updates repo or from citrusbolt's website and add the missing files to your dumped BCAT, then restore it with JKSV.

If you find any bug or you need support, please read carefully the FAQ section. Comment this post with your question if you still need help.

Credits

  • PNZeml for the CRC-16/CCITT-FALSE with lookup table implementation
  • Kurt, Matt and all the PKHeX and pkNX devs and contributors for a lot of offsets and resources
  • theSLAYER for his researches in the Sword and Shield fashion block and for the clothing names resources
  • All the Events Gallery contributors for the archival efforts that made this possible
  • Like 6
Link to comment
Share on other sites

F.A.Q.

  1. Q) Is this legit?
    A) Legit means no external tools, hacking and/or glitch abusing are used. At best, Pokémon obtained in this way can be legal. Do note that trading Pokémon obtained this way without proper disclosure might be considered scam.
     
  2. Q) Can I follow this tutorial with a clean, non-hacked Switch unit?
    A) No, Atmosphere CFW is required.
     
  3. Q) Can I follow this tutorial while being offline or with my EmuNand/Emulator?
    A) No, this requires you to be online and connected to Nintendo official servers.
     
  4. Q) Can I follow this tutorial without an NSO (Nintendo Switch Online) paid subscription?
    A) Yes, Mystery Gift features don't require NSO.
     
  5. Q) Do I risk a ban by using faked BCATs?
    A) Who knows. As of now we don't have any ban reports but, as always, we don't take any responsability in case your console, game or savefile gets banned. The method is similar to save file backup / restoration, and as of now we don't have ban reports for that either. If anyhow you're too worried to proceed, just avoid following this tutorial.
     
  6. Q) Why can't I add more than one (1) wondercard per time to Let's Go Pikachu/Eevee BCAT?
    A) Even if you were to build a BCAT with more than one card, the game would only see the first card added. There would be no point in allowing users to add more cards.
     
  7. Q) Why are some of my wondercards flagged with a yellow warning sign or with a red esclamation mark inside the tool?
    A) The tool marks wondercards as invalid in these cases:
    Spoiler
    • Duplicated WC ID: wondercards with duplicated ids will likely be ignored by the games.
    • WC ID over the maximum allowed: Pokémon Brilliant Diamond and Shining Pearl will ignore any wondercard with an id greater than 2047.
    • Wondercards count over the maximum allowed: having more than 128 wondercards in a single BCAT pack might cause freezes or crashes upon redemption.
     
  8. Q) When I try to edit the Wondercard ID (WCID) on Scarlet & Violet BCAT, a warning pops up, why?
    A) SV Wondercards which gives Pokémon with a preset TID and SID use the Wondercard ID to modify the resulting TID and SID. If the Wondercard ID gets edited, the resulting Pokémon will have wrong TID and/or SID. You can safely ignore this warning for Wondercards that give Items/Clothings or for Pokémon Wondercards which set TID and SID based on the receiving Trainer, such as the Flying Pikachu.
     
  9. Q) Can I change the wonder records receive date?
    A) Yes, the switch-time homebrew is an option to edit the internal unix time. Only use it if you know what you're doing. Resync the unix time afterwards.
     
  10. Q) Can I change the Met Date for received Pokémon in Pokémon Legends Arceus?
    A) Same answer as point 9.

 

.....

  • Like 6
Link to comment
Share on other sites

Good ^_^
I can not inject the w9 with the program with the BCAT of Pokemon Violet, when saving in the BCAT tells me all the time invalid BACT source path, and I've tried even with the BCAT you have uploaded in Backup and I get the same xd

Link to comment
Share on other sites

17 minutes ago, Lina said:

invalid BACT source path

Means that you are selecting an invalid/incomplete BCAT (or something that is not a BCAT at all). Dump again the BCAT from your console and try again. Please follow the guide carefully.

17 minutes ago, Lina said:

and I've tried even with the BCAT you have uploaded in Backup and I get the same

I have no idea what you're talking about. I haven't uploaded any BCAT to the site. If you mean my bcat_updates github repo, those are incomplete BCATs without console-specific informations. They can not be used with this tool. You need your full BCAT dump.

Link to comment
Share on other sites

  • 1 month later...

Does this work with Ryujinx save file from ScVi for example?  If not there is a way to injects Scarlet & Violet wondercard files (.wc9) to the save file? Thanks and sorry if i cant talk about emulator or somithng like this.

Link to comment
Share on other sites

 

1 hour ago, Polo_019 said:

Does this work with Ryujinx save file from ScVi for example?

Read FAQ point 3.

1 hour ago, Polo_019 said:

If not there is a way to injects Scarlet & Violet wondercard files (.wc9) to the save file?

No, this isn't a save file injection. It's BCAT injection. Save file wondercard injection isn't possible in Switch games.

  • Like 1
Link to comment
Share on other sites

This is probably a dumb question, but once you inject the forged BCAT package with the mystery gift events, how do you keep the items/Pokémon you get when you transfer over the game save from modded switch with the forged BCAT to another unmodded switch? My friend is using his modded switch to get me events I missed, but they aren’t carrying over when he transfers the save data back to my switch. Apparently, all the items/Pokémon just disappear.

Link to comment
Share on other sites

3 minutes ago, Catbug said:

This is probably a dumb question, but once you inject the forged BCAT package with the mystery gift events, how do you keep the items/Pokémon you get when you transfer over the game save from modded switch with the forged BCAT to another unmodded switch? My friend is using his modded switch to get me events I missed, but they aren’t carrying over when he transfers the save data back to my switch. Apparently, all the items/Pokémon just disappear.

He probably transferred the wrong save to you.

OFW/CFW shenanigans 

This has nothing to do with this tool. The Switch doesn’t ‘keep track of whether this is from a forged BCAT or not’, thus can’t decide to give you ‘stuff only obtained from a non-forged BCAT’.

  • Thanks 1
Link to comment
Share on other sites

11 hours ago, theSLAYER said:

He probably transferred the wrong save to you.

OFW/CFW shenanigans 

This has nothing to do with this tool. The Switch doesn’t ‘keep track of whether this is from a forged BCAT or not’, thus can’t decide to give you ‘stuff only obtained from a non-forged BCAT’.

So it turns out the event pokemon and event items would transfer over, but he said he couldn’t get the mystery gift items to transfer over (i.e., mask/kimono in Arceus, Sports Rutsack Preorder bonus, dynamax crystal events). He even tried doing thinks like equipping the rutsack or kimono on the switch with the forged BCAT, saving, and then transferring the saves back to my switch. But they would just be gone at that point. Anyone else ever run into issues like this?

Link to comment
Share on other sites

21 minutes ago, Catbug said:

So it turns out the event pokemon and event items would transfer over, but he said he couldn’t get the mystery gift items to transfer over (i.e., mask/kimono in Arceus, Sports Rutsack Preorder bonus, dynamax crystal events). He even tried doing thinks like equipping the rutsack or kimono on the switch with the forged BCAT, saving, and then transferring the saves back to my switch. But they would just be gone at that point. Anyone else ever run into issues like this?

The BCAT itself can’t transfer over.

once redeemed in save, that save, if all done correctly, can be transferred over.

He probably screwed up EmuNand/Sysnand stuff. Once again, unrelated to this program. Like I said, the Switch doesn’t have recognition to ‘forged BCAT’. If it did, why wouldn’t it just ban everyone who does it hmm?

  • Thanks 1
  • Ditto 1
Link to comment
Share on other sites

1 hour ago, theSLAYER said:

The BCAT itself can’t transfer over.

once redeemed in save, that save, if all done correctly, can be transferred over.

He probably screwed up EmuNand/Sysnand stuff. Once again, unrelated to this program. Like I said, the Switch doesn’t have recognition to ‘forged BCAT’. If it did, why wouldn’t it just ban everyone who does it hmm?

Good point. I was thinking the same thing. Once I acquire a modible switch in the (hopefully not too distant) future, I’ll try to play around with it myself. Thank you for the reply! :)

Edited by Catbug
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
50 minutes ago, gelderm said:

windows security reports a virus in the latest GUI.app.zip found on github. is it a false positive?

Microsoft Defender does not report any issue to me.

If you're talking about the Microsoft SmartScreen, then that's a popup that should appear for every executable downloaded from internet, during the first program startup.

VirusTotal says 1 out of 70 antivirus flag it as malicious.

Anyways, it's a false positive. Users can inspect the source code and eventually build the executable from themselves if they don't trust the downloads.

Link to comment
Share on other sites

2 hours ago, SkyLink98 said:

Microsoft Defender does not report any issue to me.

If you're talking about the Microsoft SmartScreen, then that's a popup that should appear for every executable downloaded from internet, during the first program startup.

VirusTotal says 1 out of 70 antivirus flag it as malicious.

Anyways, it's a false positive. Users can inspect the source code and eventually build the executable from themselves if they don't trust the downloads.

I trust you, no problem. I have reported this in case it happens to others.
However, Microsoft Defender tells me that it found "Trojan:Script/Wacatac.H!ml" in the file "C:\Users\david\Downloads\WndowsForm.GUI.App.zip".

no problem with older versions of Switch Gift Data Manager tool

Edited by gelderm
Link to comment
Share on other sites

You sure you downloaded the latest release from the github?

Here's a virustotal scan for the Zip: https://www.virustotal.com/gui/file/ca6ce87b3c2d70c3ef885e16ae89387b6dd804dc8dc9150aac9ba5d14f554d37

Please check the SHA-256 checksum of the zip you downloaded matches the one reported by virustotal.

If anyone else have false positives reports with the zip downloaded from the official github, please let me know. I'm currently unable to reproduce that report.

Link to comment
Share on other sites

19 minutes ago, SkyLink98 said:

You sure you downloaded the latest release from the github?

of course i did! for three times.

I tried again now and it doesn't report any problems...

Link to comment
Share on other sites

11 minutes ago, gelderm said:

of course i did! for three times.

I tried again now and it doesn't report any problems...

The release downloads are the same since when I uploaded them about 20 hours ago.

If there were any changes to the files, it would be reported there:

image.png

 

Idk, maybe your Microsoft Defender was using old definitions or something. Happy it's all good however :)

 

  • Like 1
Link to comment
Share on other sites

Finally got a modded swtich, and after a bit of a learning curve I think I have it figured out. Just to confirm, I cannot use this gift manager OFFLINE on CFW EmuNAND, right? If so, is it safer for me to boot into CFW SysNAND to go online with only JKSV installed? I fully understand nothing is 100%, but I'm nervous about connecting to Nintendo Servers on EmuNAND and I'd like to avoid if possible.

Link to comment
Share on other sites

33 minutes ago, Catbug said:

Finally got a modded swtich, and after a bit of a learning curve I think I have it figured out. Just to confirm, I cannot use this gift manager OFFLINE on CFW EmuNAND, right? If so, is it safer for me to boot into CFW SysNAND to go online with only JKSV installed? I fully understand nothing is 100%, but I'm nervous about connecting to Nintendo Servers on EmuNAND and I'd like to avoid if possible.

As long as you don’t have pirated stuff, impossible themes, or anything else ban worthy, and never installed/done any of those on the Switch before.

Also, make sure between the times you’ve gone online, this instance isn’t considered a ‘downgrade’ from the last instance. (Some amount of stuff is only legitimately supposed to increase, not decrease).

I’ve been using my CFW Switch on Sysnand online for years. No issues. Of course all at your own risk tho.

  • Like 2
Link to comment
Share on other sites

2 hours ago, theSLAYER said:

As long as you don’t have pirated stuff, impossible themes, or anything else ban worthy, and never installed/done any of those on the Switch before.

Also, make sure between the times you’ve gone online, this instance isn’t considered a ‘downgrade’ from the last instance. (Some amount of stuff is only legitimately supposed to increase, not decrease).

I’ve been using my CFW Switch on Sysnand online for years. No issues. Of course all at your own risk tho.

Sounds good. I had to manually add a CFW SysNAND option into the hekate_ipl file. Please let me know if I should change anything. Hopefully it looks good:

Spoiler

[config]
autoboot=0
autoboot_list=0
bootwait=3
backlight=100
autohosoff=0
autonogc=1
updater2p=0
bootprotect=0

[Atmosphere CFW]
payload=bootloader/payloads/fusee.bin
icon=bootloader/res/icon_payload.bmp

[Stock SysNAND]
fss0=atmosphere/package3
stock=1
emummc_force_disable=1
icon=bootloader/res/icon_switch.bmp

[CFW SysNAND]
fss0=atmosphere/package3
kip1patch=nosigchk
atmosphere=1
emummc_force_disable=1
icon=bootloader/res/icon_payload.bmp

I noticed that the theme I applied in my CFW EmuNAND (Atmosphere CFW from the boot file) ALSO applies to the CFW SysNAND. It's just some minimalist pokemon theme I downloaded through NXThemes. Should I just forget about custom themes on CFW EmuNAND since it's copying over to CFW SysNAND?

Again, the only thing I plan on doing with my CFW SysNAND is forging pokemon BCATS for missed events/raids, and then eventually doing a "legit" save file transfer from CFW SysNAND to my clean OLED switch when I'm all caught up (which I believe ALSO requires an internet connection). A few more inquiries if you can spare the time:

1. Is JKSV the only homebrew app I'll need to open on CFW SysNAND?

2. I'm also trying to do match distribution dates to dates they show up in the mystery gift logs as well as "obtained" dates for giveaways or when I catch raid pokemon. Is changing the date in this manner as simple as just changing the system clock or are there extra steps involved?

3. Anything I should know when I'm ready to transfer files over to my unmodded switch? I already have the linked nintendo profiles on both consoles.

Sorry for all the questions. I feel like I understand most of what I need to get this going, there's just some gaps in my knowledge and I'm afraid I'll miss some nuanced concepts that I should have known to avoid a ban. Normally I wouldn't care if this console is banned because I have two others for online stuff, but unfortunately the BCAT editing requires online access so I don't have much room for error. Your advice is very much appreciated. Any additional advice/tips/words of wisdom, would also be appreciated. Thank you.

Edited by Catbug
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
 Share

×
×
  • Create New...