Most emulators that are not the PS1 or N64 are usually "extract emulator to directory, run emulator", maybe you also have to configure controls. Some might occasionally support a BIOS or a firmware but will usually have workarounds for that one. Any cheat menu is usually well within the usual paradigm (
https://xkcd.com/627/ ) for computer use/fixing.
There are tools that reach out and touch memory of another program a la artmoney. In emulator world you will probably then first encounter emuhaste (
https://www.emucr.com/2012/03/emuhaste-v40.html ). For many systems it can represent the best option for cheats (if you find a megadrive/genesis emulator with a good cheat search and debugger please do share) but for the GBA and DS at least its usefulness varies as they have long had good options.
In theory some of the emulator frontend projects could do something useful but I usually find them wanting on a lot of things (both in drama created, approach to source code, and resulting features/abilities/ease of use) so avoid them.
For general emulators then
https://www.emulator-zone.com/ is frequently outdated but usually serves as a good jumping off point.
Some also like to look at what the tool assisted speedrun community are doing at any given point for when your entire hobby revolves around memory manipulation, observation and checking things there to do further actions with you tend to have some good tools for it. Don't know what exists for the DS though.
For the DS for cheats and hacking purposes these days I would probably go with
Desmume mainly for cheats.
http://desmume.org/
There are a few forks like the 3d higher resolution render option (
https://gbatemp.net/threads/hi-resolution-ds-emulation.364549/ ), some even doing stuff for hackers (see
https://gbatemp.net/threads/unofficial-desmume-build-unused-memory-finder-tool.349332/ ) but vanilla is good stuff even so.
no$gba. Does great cheats, its debug options, which went free a while back, are best in class as well (desmume can interface with GDB but eh).
http://problemkaputt.de/gba.htm#debug (the base version does have some good cheat stuff though).
It is also responsible for the main hardware document for the GBA and DS
http://problemkaputt.de/gbatek.htm
Some like to flank it with no$zoomer but if you are after cheats then yeah, and personally it never really did much for me.
melonds may join it one day and has some aspirations towards debugging.
http://melonds.kuribo64.net/
I already mentioned enhacklopedia but for the sake of linking it again
https://doc.kodewerx.org/hacking_nds.html
https://gbatemp.net/threads/crackers-ds-trainer-maker-tutorial.44410/ also makes a nice addition.
There are some older emulators with some measure of debugging options but probably skip them today.
Some also spend some time learning C and C++. Earlier I mentioned stats hacking. Spend time learning C arrays (
https://www.tutorialspoint.com/cprogramming/c_arrays.htm ) and you will then probably come to understand why you would be either looking for a character by character stats value "list", or have each character's attack stat next to each other, followed by def all next to each other somewhere else... as well as why list was in quotes back there. Not to mention pointers, which would be covered probably long before you got to arrays, would also have some more grounding. You could limit it to data structures and data types to know why things are going to be certain things on given systems (8 bit systems tend to use 8 bit values, 16 then 16...) and that would also lead into basic assembly.
https://www.romhacking.net/documents/361/ is for the GBA and for the command line (if you follow along with it try to do it in no$gba) but a useful trick to have in making cheats as tracing and launching off button commands. as well as why
http://www.fceux.com/web/help/fceux.html?TraceLogger.html (fcuex is for the NES and represents the gold standard of such things that are not the PC, and I don't think there is such a tool/equivalent formally for the DS but you can fake it) is useful when finding a simple flag to say mimic the effects of a "no monsters" potion/equip where you can't just search-repeat-search-repeat as easily*, or better yet mimic a flag when the equip takes up a valuable equip slot and simply giving someone the equip limits them in another way.
It is for the PC but I went a bit further into some other things here the other day
https://gbatemp.net/threads/how-do-i-make-pointers-in-cheat-engine.565789/
Basically thinking like a programmer and always asking "if I was making this how would I do this?" as well as "what clues can I see from the game itself as to what might be going on underneath it all?" is rather useful when you are manipulating a program/efforts of a programmer -- know your enemy and all that.
*For
https://gbatemp.net/threads/castlevania-portrait-of-ruin-us-undub-cheat.367014/ I did indeed do that with a bunch of savestates and if options to back out at there then those too. If you have to wait 10 minutes for something to wear off then that is a rather longer affair, possibly rather more complicated as well.
Programming is a rather big leap to start out with so you might also like to try to replicate a complicated cheat -- if your basic infinite money or something cheat is not a one or two line affair and is not a "press to add 1000" (which may itself be a workaround to a problem**) type deal then you probably have some fun anti cheat protection to handle. Either understand what it is that it is doing, or starting from the position that you know it is going to be a fun one (but not reading the cheat to get the answers as it were) then see if you can make one too.
**have infinite time and anything based on time won't happen, press to refill time is a different matter entirely. Have infinite health and anything based on health like a must lose boss battle may break, alternatively you might enjoy fighting/farming a boss and it is an easy way to return their health without making it infinite and undefeatable. Set your gold at 1000 and something that costs 1001 is now out of reach. No monsters is great but always no monsters might be boring and leave you underlevelled...