Misc How to find cheats?

VideoGameBoy

Member
OP
Newcomer
Joined
Jan 18, 2022
Messages
18
Trophies
0
Age
16
XP
100
Country
United States
I have recently been playing 2 spongebob games. Surf and Skate Roadtrip and Beach Party Cook-Off. Both have cheats, which are entered via text. Anyone know how to find cheats for these DS titles through any means? Thanks.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,403
Country
United Kingdom
I am not sure what you are heading for.

"entered via text"
Do you mean somewhere in the menus is a cheat entry screen?
Normally the game devs will give a few of them to reviewers/magazines as part of a review or a few months later as a quick boost to visibility, that or they will be rewards in a game for beating it. Folks at places like gamefaqs then usually doing a good job in collecting all the known ones and making lists of them.
Occasionally you do see them slip through the cracks only to be found decades later
https://gbatemp.net/threads/new-xbox-easter-egg-leaked-after-two-decades.588827/
https://gbatemp.net/threads/nintend...-cheat-code-discovered-21-years-later.585818/
Plus various testers, programmers and whatever finding them out and sharing them via whatever means.

Or do you mean conventional cheats as the cheat device, emulator and flash cart set might know them?
https://doc.kodewerx.org/hacking_nds.html
https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial is for the GBA but the principle is the same whether you are doing vic 20 or modern supercomputer bar a few minor quirks.

I can cover either of those (granted etk's guide will get you most places, only then things to make things quicker and ideas on how to approach games/how games are typically coded being what I would cover, and have covered in the past as it pertains to things like inventory cheats and anti cheat methods) however barring luck with finding text strings inside a game (super rare, but you can look with whatever pulls apart DS games and possibly stuff like https://www.romhacking.net/utilities/513/ by typing in a known password or two and should be fairly quick, whether you want to go to the effort of decompressing files within the game as text often is compressed then you can I guess) or maybe the codes following a pattern (many older ones used to have little jokes or references as the cheat, a notable absence of something that would be obvious to make a password/cheat for in the known passwords/cheats might also be something to investigate) then finding hidden cheat codes/bonus password entries is quite an involved technique that will need some not inconsiderable computer skills. I don't know that I would suggest it for a first project/foray into all this but at the same time if it is going to be the thing that gets you over the hump then there are worse choices.
I did have a guide in progress for it but lost it in a hard drive failure, though I can redo easily enough.
The two main methods for finding them are

1) Decompilation. There is a reason the Kirby one above was found during such a project, and it is related to the other method even if it is a subtly but notable different set of skills that gets used.
So yeah you get to decompile the game, or maybe disassemble it with an eye to making a commented complete disassembly (there are a few). Doing so will yield them by default when you approach that part of the game if you are doing your job.

2) Inferring them from actions taken by the game. In conventional security this would be closer to some of the hardware side channel methods.
Password screens, sound tests, game menus and all that have one job. Anything extra or unknown, particularly in decoding passwords or menus noting down button presses, is then cause to go looking into those.
Hopefully it will be a simple loop before the main decode of the password, possibly even as it is entered (enter the wrong button and it will take the easier path rather than having to do it all at the end, button presses tending to be more like this to allow things to reset if one of the game testers these were typically for fat fingered the entry).
You could possibly do something with a code logger* ( https://fceux.com/web/help/CodeDataLogger.html for the main example, albeit for the NES. There are similar things for the GBA but I don't know what we have like that for the DS -- it is quite a demanding process so you will probably have to do something like the GDB bridge or similar -- https://wrongbaud.github.io/posts/ghidra-debugger/ or some kind of IDA plugin). At which point you would enter a few bad passwords and then a known good one. The good one will see the new code path taken and you can analyse that. For this though you will probably get to learn debuggers (ida and ghidra could be the ones you use, though many more will just go for no$gba debug version as it is good and free these days http://www.problemkaputt.de/gba.htm#debug , desmume does not have much and I don't think I am going to suggest melonds quite just yet https://melonds.kuribo64.net/ ), breakpoints (see the pause-break button on the keyboard, this is what that was once for in days of old, anyway breakpoints are a point to stop execution, break if you will, when something gets written to, read from, executed from or some combo of those, find a location that will be written/read as part of a conventional cheat finding exercise** and it will tell you what instruction did the deed, this means you can follow the code along or back until you get something more juicy).

If you are not familiar with loops then computers are great fun to get to add numbers up for you but the real fun begins when you get to make choices depending upon inputs, values and... do you get the impression I am describing games at this point? Anyway there are a few main classes of loop that any intro to programming for any language worth learning will teach you ( https://www.tutorialspoint.com/cprogramming/c_loops.htm https://www.tutorialspoint.com/cprogramming/c_decision_making.htm https://www.learnpython.org/en/Loops https://www.tutorialspoint.com/lua/lua_loops.htm ).
IF (ELSE), FOR, WHILE being the big three in the C family, though assembly will render it as more of a compare (CMP) and branch (BRA/something with B) depending upon results of the compare ( http://problemkaputt.de/gbatek.htm#armcpureference , branches, jumps, calls being the things you want to see. http://www.coranac.com/tonc/text/asm.htm ).
IF this then do this, ELSE do this. IF IF IF IF IF ELSE also being possible. Computationally expensive to do a lot of checks so there are ways to bypass this, indeed some modern high end programming teaches it but I will skip that. That said if you are in a menu then nobody really minds a bit of slowdown to do whole bunch of checks where doing that in the main game would be bad workmanship.
FOR, sometimes FOR EACH, will do a bunch of operations on a range of data. This will also bring in matrix maths for modern computing as there is some overlap (add one to every number in a range is long if done individually, trivial for a matrix). Not as likely to be something used in this sort of thing but possible.
WHILE is much as it sounds and will do an action WHILE something else happens or is the case (number greater than/less than).

*code logging. Classic example so you want to learn about jumping in a platform game. Find a reasonably quiet point in the game, turn on logging and do everything else but jump (idle around, walk, punch...) so that the logger has see background music, animation, other inputs of the sticks and buttons. Now jump. The logger will either tell you or the last new code it had not seen before will be the jump. Congratulations you have the location of code associated with jumps possibly more easily/quickly than following button presses, finding internal location states and watching those or similar approaches those without it might use.

**if the game plays a sound effect upon correct entry or maybe flashes graphic up then you can use this too, some might even go backwards from those and look for things that speak to those. If a good password sets a flag in the game (say invincibility or something) then you can find that via conventional cheat finding mentioned at the start and hope other flags are nearby or set a breakpoint on that, go back to the earlier savestate before it was set, enter the code again and work backwards from there to find some interesting code.

For password saves and data transfers you also have the related option of breaking the checksum, or possibly learning to calculate it. Anyway to avoid issues with people entering the wrong code and breaking the game/getting an unfair advantage most passwords will have a checksum (anything from add the values up, odd or even/what is the total to something more in the realms of cryptography). You can follow how it is made and make valid passwords as a result, or most likely the check will be a simple good/bad and branch accordingly, alter the possibly single instruction to always take the "password is good" path and yeah, bonus is the game might well even make a valid password for you (whether you have to beat another level or just go back to the password screen will vary between games) which works in an unaltered game. Such an approach also works with save editing, as in save files, as well but we are getting off topic with that so I will leave it there.
 

Alexander1970

XP not matters.
Member
Joined
Nov 8, 2018
Messages
14,973
Trophies
3
Location
Austria
XP
2,512
Country
Austria
Good morning.:)

I have recently been playing 2 spongebob games. Surf and Skate Roadtrip and Beach Party Cook-Off. Both have cheats, which are entered via text. Anyone know how to find cheats for these DS titles through any means? Thanks.

7 Digit Codes.....but nobody found them until today it seems....:sad:
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    bassviolet @ bassviolet: America ya~