[x]

deviantART

 

Assembler programming

Wed Jun 11, 2008, 5:40 AM
'ello everyone!

Been away for a while, doing different things. One of them is making a trainer for a Japanese dating sim game going by the non-descriptive title "Kingdom" (well, the real title is 恋する王国 ) by GIGA.

There are two techniques commonly used for trainer making - memory edit, and code injection. The easiest one is memory edit, where you set a value in game process' memory at a static location, and perhaps lock it to prevent from changing. However, more recent games use DMA (Direct Memory Access), and location of data block can differ each time the game runs. So, the only way to do what we want to do is to modify the actual instructions, the game code. That typically involves finding a proper piece of code to modify (e.g. block that decreases the number of lives, or ammo, or anything), replace it with a pointer to a memory address which has a lot of space with no code, and then write your own code in that space, ending with a return pointer to the "end" of the modified instruction.

The main fun is, that code has to be machine code (long string of hex codes that contain CPU instructions), so one can either write it directly (if you're a PhD in CompSci, for example), or do it in Assembler and use freely available tools to convert the resulting "program" into machine code. It's a challenge... and that's exactly why it's fun!

  • Mood: Cheerful
  • Listening to: "Do It Now" - Morning Musume
  • Drinking: Tieh Kwan Yin Oolong tea

Devious Comments

love 0 0 joy 0 0 wow 0 0 mad 0 0 sad 0 0 fear 0 0 neutral 0 0

W00t. Haven't done any game hacking since old MS DOS times.
Same here, so I had to re-learn some stuff. Still lots of fun. ^_^

--
I am neither especially clever nor especially gifted. I am only very, very curious. --Albert Einstein

Aiko and Hiro Addicts UNITE! *AikoAndHiroAddicts
Drow fans - join the club! ~drowlovers
Lolth-Scourge club - Drow rule! *Lolth-Scourge

Journal History

Site Map