News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: About cheat devices  (Read 2451 times)

Goku

  • Newbie
  • *
  • Posts: 3
    • View Profile
About cheat devices
« on: May 28, 2013, 09:13:32 pm »
Hello.
There are many names for cheats options that I find in emulators: Action Replay, Game Shark, Code Breaker and Game Genie.
I would like to know how these things work and their differences.

Do they change data in an address of memory? Or an address of ROM data?

DS cheats are complex because many cheats are activated when some buttons are pressed.
DS cheats ends with "D2000000 00000000" and it seems strange.

How can existing cheat codes help to hack a ROM? Does it help to find the address of specific data in ROM?

I would like to start with DS. Other systems that I like are GBA, PSP, SNES, SMD and PS1.

Nyxos

  • Jr. Member
  • **
  • Posts: 13
  • ~ouisu!
    • View Profile
Re: About cheat devices
« Reply #1 on: May 28, 2013, 11:38:07 pm »
I think popular cheat codes such as AR, GS and CB changes an address on the memory (RAM), the best way to do it is to do some pointer searches. Once you find your desired pointer then you can start and fiddle things.

If your starting on finding some cheats on the DS, then use emulators such as NO$GBA and Desmume. I prefer desmume for its various tools such as the disassembler and the View Memory function.
"A horrendous monstrosity has forced its way into existence, and we are, as a species, worse for it"

Jeville

  • Sr. Member
  • ****
  • Posts: 345
    • View Profile
Re: About cheat devices
« Reply #2 on: May 29, 2013, 12:49:10 am »
You can try out CCCGP that is linked in the first post here. If you use it, put a little description under each code input and the Add Codes will function. It doesn't cover most of the platforms you're looking for, but SNES is one of them. After adding and patching a code, it will tell you where the value is changed and even tells you what the old value was.

FAST6191

  • Hero Member
  • *****
  • Posts: 2446
    • View Profile
Re: About cheat devices
« Reply #3 on: May 29, 2013, 04:23:21 am »
Game genie -- change what the ROM looks like to the console. Game genies are the only things to do this.
Action replay -- change parts of the memory. Everything else (codebreaker, xploder, goldfinger*, game shark) is much the same.

*if you are speaking to a Chinese hacker this is what they will tend to translate it as, as most flash carts tend to come out of China it is worth knowing. Do also note it is what they also call the pins on a cartridge.

The only real differences are how they encrypt their codes if they are encrypted, how they encode their codes and what level of functionality is afforded by the device (there is much more to cheating than simple "hold this point in memory" type things after all).

Some consoles -- action replay/datel gear does nothing but allow you to inject hacked saves. The original xbox is probably the most notable example here though nowadays there are "trainers" which work much like action replay codes. Datel and co do also do a fine line in save dumping tools though and often on the same consoles that have more conventional cheating devices.

Bonus round -- the DS copies the entire binary (files are separate though the binary can include non binary code, I have fished every main type of data out of them over the years) to memory. This means you can change memory and change the binary or in effect make a kind of game genie code and definitely codes that could only otherwise be done by an ASM hack.
I have seen partway similar things for some Wii ROM hacks as well but that is a different discussion.

http://doc.kodewerx.org/ is probably the most complete listing you will get for the various consoles. http://nocash.emubase.de/gbatek.htm#dscartcheatactionreplayds and http://nocash.emubase.de/gbatek.htm#gbacheatdevices are also worth a read though.
The PSP tends to be taken care of by CWCheat, most cheats are made using a kind of hardware debugging affair rather than emulators which are only just now getting to be useful.

"existing codes hacking a ROM"
Assuming you are not talking about the bonus round stuff this probably means master codes. They do various things but part of anti piracy protection and some instances of cheat protection is you check various parts of memory to see if things have been changed. Master codes will then tend to stop this protection from kicking in.

Otherwise they contain the memory location of a thing you are changing which can be very helpful. A while back I ported a cheat that forced the later DS Advance wars games to be in Japanese (it had Japanese in the ROM but would not load it from stock and was never released there). The cheat forced a copy of some of the firmware data to read 0 (signifying Japanese) but the game would not do it by default. As I was not about to make a mini cheat engine to force that area to be 0 I disassembled the ROM/ran it in a few emulators and I found the instruction that read that area of memory and forced the resulting routine to use 0 thus causing Japanese to run without ever touching that area of memory. That would be an example of how cheats could help, as I did not make the cheat I kind of suspect the cheat authors did a similar thing in reverse (my port was easy, that would have been a harder cheat to make).

Kind of related to that if you have an infinite items cheat you can use it as the starting point of a tracing session; you find something that reads the value you just made infinite, it might load the text description at the same time or as part of the related set of instructions, you now have a place to look for the text. It is a somewhat backwards method of going about it but not an invalid one or even one I could reasonably discourage.

Button pressing.
That goes back to the quality of the cheat device thing more than complexity, if I am hardcoding button changes, hardcoding button activated cheats or some such then yeah I have to think about it but otherwise it is nothing major.

About the only thing I feel the need to add is the GBA, DS and to a less extent the megadrive/genesis were fairly simple in terms of the memory and how the carts were read (some aspects of the DS aside it was all visible at all points). The NES has mappers, the SNES has hirom and lorom as well as special chips, the GB/GBC has banks and it goes from there. This is not so bad once you understand what is going on though.

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: About cheat devices
« Reply #4 on: May 29, 2013, 07:45:31 am »
Cheat devices tend to cheat.

They will look for some chunk of code that the game normally runs once a frame and inject their own code there. They will then add custom code that applies all the fancy effects they want, like indirect memory access, conditions and what not.

But not all devices are able to automatically detect a good spot for their code, thus the need to manually specify where it should inject the code.

And of course, long codes tend to be flat out assembly overwrites.

Goku

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: About cheat devices
« Reply #5 on: May 29, 2013, 02:56:06 pm »
Thanks.
FAST6191 helped me a lot.