Comment by Froztnova
2 months ago
I first learned how these sorts of programs worked using memory inspection tools that some emulators have built into them, but eventually flirted with some very basic cheat engine stuff myself. More advanced stuff like code caving is hard unless you're an assembly wizard, but it's surprisingly easy to find and poke values once you get the basic technique down. I once made a trainer for a friend because he wanted to skip some of the grind for cosmetics in Nioh. I also had fun realizing that the enemy skill materia in ff7 basically works by treating what would typically be the experience of the materia as a bitfield, with one bit for each learnable skill.
It's funny though, I realized that I generally don't enjoy cheating at games, even single player games, unless the cheats are amusing stuff like big head mode or whatever. I once actually cheated to reduce my character's level in dark souls because I'd accidentally allocated a bunch of points into a famously rather useless stat and, in that game, stat point allocation is permanent. To clarify, I knew it was useless, I had mismatched which row I was looking at when assigning points.
Which is still cheating, I suppose, given that it saved me the convenience of starting the character over completely.
Dark Souls on PC rather famously was locked at some low resolution no matter what you did in the settings, among other problems that the PC port had. There was a hack program called DSFix that did a bunch of work to make it playable in a reasonable way on PC