Pokemon Super Mystery Dungeon Cheat and Editing request

  • Thread starter Thread starter rave420
  • Start date Start date
  • Views Views 2,110
  • Replies Replies 12

rave420

Well-Known Member
Member
Joined
Dec 21, 2010
Messages
399
Reaction score
75
Trophies
1
XP
416
Country
Canada
Hello all,


I can't find a thread to request individual cheat codes, nor did searching around here yield me any answers.


For Pokemon Super Mystery Dungeon (US), there's a cheat code floating around out there on every site and database I have checked:


Code:
[9999 Gold Bars]

00A14AD8 0000270F


This code does not work as intended. It gives you 9999 money, the "main" currency of the game. There's a second currency called "gold bars" which become useful and accessible in the 2nd part of the game once you graduate from Junior Rescue Squad. There is no cheat code that I have found that successfully modifies my gold bar count. These things are hard to grind for and are a pain to acquire in any meaningful amounts. The lack of a cheat code wouldn't sting so much if there was a working savegame editor for PSMD. There's this floating around but I can't get it to compile, and can't find any compiled versions (nor am I sure the code actually compiles properly). I'm willing to edit the save file manually if I knew what offset stores the gold bar count. I had a look through the source to find relevant offsets, but wasn't able to find anything. This leads me to believe that this is an incomplete project.


If anyone is willing to help me with this (a cheat code that modifies the gold bar count, a "simple" integer value in memory), I can share a save file from the middle of the game where gold bars are actually accessible and being used. Hit Y in the overworld and observe the money and gold bar count. Here's the save file, ready for import with Checkpoint attached to the post. I'd be hugely grateful, I know it's an old game, but some love is still appreciated ♥
 

Attachments

I'm willing to edit the save file manually if I knew what offset stores the gold bar count.
Standard procedure would be to start with a save file, collect a gold bar, and then see which values in the save data have changed. Then collect another gold bar and see if one of the values has changed again in the same way.
 
Hello all,


I can't find a thread to request individual cheat codes, nor did searching around here yield me any answers.


For Pokemon Super Mystery Dungeon (US), there's a cheat code floating around out there on every site and database I have checked:


Code:
[9999 Gold Bars]

00A14AD8 0000270F


This code does not work as intended. It gives you 9999 money, the "main" currency of the game. There's a second currency called "gold bars" which become useful and accessible in the 2nd part of the game once you graduate from Junior Rescue Squad. There is no cheat code that I have found that successfully modifies my gold bar count. These things are hard to grind for and are a pain to acquire in any meaningful amounts. The lack of a cheat code wouldn't sting so much if there was a working savegame editor for PSMD. There's this floating around but I can't get it to compile, and can't find any compiled versions (nor am I sure the code actually compiles properly). I'm willing to edit the save file manually if I knew what offset stores the gold bar count. I had a look through the source to find relevant offsets, but wasn't able to find anything. This leads me to believe that this is an incomplete project.


If anyone is willing to help me with this (a cheat code that modifies the gold bar count, a "simple" integer value in memory), I can share a save file from the middle of the game where gold bars are actually accessible and being used. Hit Y in the overworld and observe the money and gold bar count. Here's the save file, ready for import with Checkpoint attached to the post. I'd be hugely grateful, I know it's an old game, but some love is still appreciated ♥
What's the title ID and the latest update's title ID

Figure that stuff out and tell me, then I'll see what I can do.

A quick glance at the savefile tells me that it's encrypted

There also used to be a cheat request thread, that died. I started one, but it's only for Monster hunter and I hardly make anything these days.
 
Last edited by False_Hope,
What's the title ID and the latest update's title ID
You realize if you dump the save data with Checkpoint, that's not necessary, right..? In any case that information is readily available at https://hax0kartik.github.io/3dsdb/ .

A quick glance at the savefile tells me that it's encrypted
All SD card data is encrypted; that's what Checkpoint is for. Or do you mean it's separately encrypted beyond the usual standard encryption?
 
You realize if you dump the save data with Checkpoint, that's not necessary, right..? In any case that information is readily available at https://hax0kartik.github.io/3dsdb/ .


All SD card data is encrypted; that's what Checkpoint is for. Or do you mean it's separately encrypted beyond the usual standard encryption?
Yes and yes. Look at the save file under a hex editor. Everything is scrambled, nowhere to put storage of items.
In any case currency is usually stored next to another currency in memory. This means it'd be extremely easy to actually make the code work as intended.

Although, the code seems to use a dynamic address rather than asm to change the value. So, it could be subject to change.

I also ask for the title id because I have to actually obtain the game and I'm too lazy to find the tid myself. It's also just a common thing to ask for, it saves me time.
 
What's the title ID and the latest update's title ID

Figure that stuff out and tell me, then I'll see what I can do.

A quick glance at the savefile tells me that it's encrypted

There also used to be a cheat request thread, that died. I started one, but it's only for Monster hunter and I hardly make anything these days.

Title ID is "0004000000174600", the latest and final update is "1.1.0 (1040)" which does not change the title ID.

I had a glance at the save file as well, and it's either compressed or encrypted (not a raw save file of course, one that has been processed by Checkpoint). I thought I would create two saves where the only meaningful difference is the amount of gold bars and compare the two. That did not yield results as the content of the whole (three) save files changed entirely.

In any case, I'd be very grateful if anyone could spare the time and have a look. I'd do it myself, but I don't know where to start when making cheat codes on a 3DS. Is there some kind of Cheat Engine-like tool available that I can use to scan the values myself? Hell, I'd probably start by taking the money code and changing the address that is modified by going up or down a few bytes at a time. I recon the gold value is stored pretty close to the money value in memory somewhere, but I could be totally off.
 
Title ID is "0004000000174600", the latest and final update is "1.1.0 (1040)" which does not change the title ID.

I had a glance at the save file as well, and it's either compressed or encrypted (not a raw save file of course, one that has been processed by Checkpoint). I thought I would create two saves where the only meaningful difference is the amount of gold bars and compare the two. That did not yield results as the content of the whole (three) save files changed entirely.

In any case, I'd be very grateful if anyone could spare the time and have a look. I'd do it myself, but I don't know where to start when making cheat codes on a 3DS. Is there some kind of Cheat Engine-like tool available that I can use to scan the values myself? Hell, I'd probably start by taking the money code and changing the address that is modified by going up or down a few bytes at a time. I recon the gold value is stored pretty close to the money value in memory somewhere, but I could be totally off.

It's encrypted btw, like I stated earlier. You can tell by looking at the end of each file (if it wasn't already obvious by the jumbled data)
 
Last edited by False_Hope,
  • Like
Reactions: rave420
Awesome @False_Hope , just what I was looking for. Had I realized that I could just load up an action replay plugin (actually lol'ing) I would have taken care of it myself :rofl2:. Sometimes I haven't used particular skills and tools, and I just end up forgetting what I got available.

Found the value of the gold bars in memory, it's located at: 00A14AE8. This is a little off from the 00A14AD8 the "999 Gold Bar" cheat tries to edit. Here's an actual working cheat for gold bars:

Code:
[9999 Gold Bars v1.1 US]
00A14AE8 0000270F

And that is that. Case closed. Thanks for everyone who helped. It really ended up being a simple integer value in memory, found and edited straightforward. How would I best get this cheat published so that it ends up in the database that gets pulled by the Checkpoint cheat function? Because the 9999 Gold Bar cheat it downloads you is wrong, and only gives you money instead. Where does Checkpoint get its cheats from?

Also yeah, editing the save directly is out of the question, at least for someone with my skill levels. Good that isn't required.
 
Last edited by rave420,
Awesome @False_Hope , just what I was looking for. Had I realized that I could just load up an action replay plugin (actually lol'ing) I would have taken care of it myself :rofl2:. Sometimes I haven't used particular skills and tools, and I just end up forgetting what I got available.

Found the value of the gold bars in memory, it's located at: 00A14AE8. This is a little off from the 00A14AD8 the "999 Gold Bar" cheat tries to edit. Here's an actual working cheat for gold bars:

Code:
[9999 Gold Bars v1.1 US]
00A14AE8 0000270F

And that is that. Case closed. Thanks for everyone who helped. It really ended up being a simple integer value in memory, found and edited straightforward. How would I best get this cheat published so that it ends up in the database that gets pulled by the Checkpoint cheat function? Because the 9999 Gold Bar cheat it downloads you is wrong, and only gives you money instead. Where does Checkpoint get its cheats from?

Also yeah, editing the save directly is out of the question, at least for someone with my skill levels. Good that isn't required.
I mean, unless you want to reverse the encryption like was done with mh4u.
I just found it was far easier to edit the memory to give me the items I wanted than to decrypt and encrypt save data to edit it.

Anyways, good job; now make it an asm code.
I ended up installing the game last night so I might try and break it.
 
Surely it's more likely that it uses compression rather than deliberate encryption..?

The only 3DS game I can think of that uses compression is Pokemon Rumble World, but considering that's from an entirely different developer, it would be a coincidence if it happened to use the same algorithm.
 
Surely it's more likely that it uses compression rather than deliberate encryption..?

The only 3DS game I can think of that uses compression is Pokemon Rumble World, but considering that's from an entirely different developer, it would be a coincidence if it happened to use the same algorithm.
1764264410418.png

1764264385544.png

1764264358343.png


Could be some compression algorithm or encryption. The save function in the game would have to be decompiled. Save files for larger games only reach a few megabytes at most, as far as I know pokemon super mystery dungeon is small in the amount of data that it needs to save.
Post automatically merged:

Awesome @False_Hope , just what I was looking for. Had I realized that I could just load up an action replay plugin (actually lol'ing) I would have taken care of it myself :rofl2:. Sometimes I haven't used particular skills and tools, and I just end up forgetting what I got available.

Found the value of the gold bars in memory, it's located at: 00A14AE8. This is a little off from the 00A14AD8 the "999 Gold Bar" cheat tries to edit. Here's an actual working cheat for gold bars:

Code:
[9999 Gold Bars v1.1 US]
00A14AE8 0000270F

And that is that. Case closed. Thanks for everyone who helped. It really ended up being a simple integer value in memory, found and edited straightforward. How would I best get this cheat published so that it ends up in the database that gets pulled by the Checkpoint cheat function? Because the 9999 Gold Bar cheat it downloads you is wrong, and only gives you money instead. Where does Checkpoint get its cheats from?

Also yeah, editing the save directly is out of the question, at least for someone with my skill levels. Good that isn't required.
The quickest way to do it if you already have an address is to go to hex view, jump to the address that messes with money, and find the hex of your gold count since it would be near it.
 
Last edited by False_Hope,
Anyways, good job; now make it an asm code.
What is the benefit or purpose? I have a working cheat code that modifies the gold bar count now. I don't need it to do anything else any differently as far as I am concerned, for this specific purpose. The cheat code works and keeps working even if I close and re-open the game.

The quickest way to do it if you already have an address is to go to hex view, jump to the address that messes with money, and find the hex of your gold count since it would be near it.
That is what I would have ended up doing if I did not have the action replay plugin. As it turns out the gold bar count is just +10 bytes offset from the money value, just like predicted.

Surely it's more likely that it uses compression rather than deliberate encryption..?

I'm inclined to believe that it is a form of compression rather than deliberate encryption. I have nothing to substantiate my claims with other than the fact that I would be surprised that someone would go through the trouble of implementing an encryption scheme. 3DS saves are already encrypted "natively" by the 3DS when it writes out the save to storage. Tools like checkpoint reverse this process and gives me a save file as it was written by the game, not the way it was written out by the console. I think there's maybe some rudimentary compression at work here. Either way, editing a save file directly is completely out of my scope. It would be nice to have a working save file editor for Pokemon Super Mystery Dungeon, but there's a lot of research that needs to be done first, and I am too technologically inept to undertake this.

Could be some compression algorithm or encryption. The save function in the game would have to be decompiled. Save files for larger games only reach a few megabytes at most, as far as I know pokemon super mystery dungeon is small in the amount of data that it needs to save.
PSMD has really small save file sizes because it does not need to store a lot of data in the actual save. Some flags for events mostly, there's no real user-created data in the file. I imagine something like 2000 flags that get toggled on or off as you progress through the game and "connect" (become friends with and own) with more pokemon. In other pokemon games I might look for a Pokemon's structure (Pokemon ID, IV combination, nickname, Trainer ID, etc.) in the save file, this game doesn't have that. Because it's such an unknown and black box, I have no idea where to even start. That being said, I'm also not interested in starting to reverse engineer anything related to savegame editing, that's entirely outside of my technical scope.
 
What is the benefit or purpose? I have a working cheat code that modifies the gold bar count now. I don't need it to do anything else any differently as far as I am concerned, for this specific purpose. The cheat code works and keeps working even if I close and re-open the game.


That is what I would have ended up doing if I did not have the action replay plugin. As it turns out the gold bar count is just +10 bytes offset from the money value, just like predicted.



I'm inclined to believe that it is a form of compression rather than deliberate encryption. I have nothing to substantiate my claims with other than the fact that I would be surprised that someone would go through the trouble of implementing an encryption scheme. 3DS saves are already encrypted "natively" by the 3DS when it writes out the save to storage. Tools like checkpoint reverse this process and gives me a save file as it was written by the game, not the way it was written out by the console. I think there's maybe some rudimentary compression at work here. Either way, editing a save file directly is completely out of my scope. It would be nice to have a working save file editor for Pokemon Super Mystery Dungeon, but there's a lot of research that needs to be done first, and I am too technologically inept to undertake this.


PSMD has really small save file sizes because it does not need to store a lot of data in the actual save. Some flags for events mostly, there's no real user-created data in the file. I imagine something like 2000 flags that get toggled on or off as you progress through the game and "connect" (become friends with and own) with more pokemon. In other pokemon games I might look for a Pokemon's structure (Pokemon ID, IV combination, nickname, Trainer ID, etc.) in the save file, this game doesn't have that. Because it's such an unknown and black box, I have no idea where to even start. That being said, I'm also not interested in starting to reverse engineer anything related to savegame editing, that's entirely outside of my technical scope.
You'd have to reverse the save function to figure out the encryption. MH4U had blowfish encryption to prevent powersaves I guess. So it is always possible for encryption.

Hex view is also apart of the 3gx plugin (the AR one)
It allows you to actively see the memory.
 

Site & Scene News

Popular threads in this forum