1

I've checked several crack me sites and they're all on reverse engineering applications.

However, I would like to practice reverse engineering by manipulating game values. The cheat engine tool allows us to do this. There's also a bunch of other tools (ex. tsearch) but cheat engine is the most popular. It involves searching through the RAM for various values, and then manipulating the pointer, creating patches to have permanent effects in memory.

The normal sites aren't a good practice for this because games typically have lots of changing values, especially those that change with user input. Are there any crackme sites which allow me to practice reverse engineering using cheat engine?

  • You can even try an mmorpg: pwnadventure.com To be honest, never tried memory editing on that one when there are more elegant solutions such as proxies – Nordwald Jan 31 at 7:17
  • @Nordwald Thanks for suggesting it. However, I believe that mmorpgs are generally way trickier and need a lot more advanced knowledge of reverse engineering. Their whole model of monetizing the game depends upon ensuring a fair play for users and they usually have either server-side checks in place or a check for detecting any kind of modification and banning accounts. For the sake of practice, I believe that offline games would be a better choice. Just like crackme modules. – Mugen Jan 31 at 12:07
  • 1
    Perhaps store.steampowered.com will be of interest 😉 – mrexodia Feb 3 at 11:09
  • @mrexodia It is of interest. However, there are no tutorials or "solutions" as such. The whole point of exercises and crackme sites is that they attach solutions for each exercise. Once you get stuck, then you can read the solution and then learn something new. – Mugen Feb 5 at 4:38
2

TL;DR: (probably) No :(

I'm afraid I don't think there is some site like this, mainly because it is much harder to generate minimal example games for memory manipulation which resemble a real life scenario than in reverse engineering or debugging challenges.

Games are often quiet complex and feature multi threaded gameloops and complex engines which keep track of various property values.

Although there are games meant to be messed with (such as pwnadventure3), I'm afraid examples like these are rare.

I would like to encourage you to make use of the tutorials on youtube. Try to target a game with minimal / no security measures first (single player, maybe indies without a big engine backing them) and try to search for tutorials. When you find one, it will indicate the target (e.g. fix health, enable flying, ...) and you can try to do this yourself without watching the video in the first place. You may watch it afterwards and use it to streamline your workflow. Like with most reverse engineering related tasks, hands on experience is king.

You can always make the computer show you anything you'd like. The real challenge starts with finding vulnerabilities in multiplayer games, because this way your manipulation exceeds the scope of your own system. For example, one of the first things usually checked in game manipulation is whether the server performs sanity checks on manipulateable values such as loot, health etc.

For example, when the server accepts jumping packages from the client and does not check for sanity (e.g. that the character is grounded and didn't jump a millisecond ago) you could abuse this behavior to implement flying. If the game utilizes a thick client structure, it may even trust the coordinates send by the client.

You'll have to explore game functionality and find the loopholes. For example, if a game implements a quick travel system maybe there are checks missing whether you could actually utilize it at any given moment or whether you can just travel to locations which are currently unlocked. Basically there are always two kinds of checks: requests something from the server and show its answer, or disable / change the interface to render the functionality unavailable to the normal user.

At some point, you may even want to mess with anti-cheat systems which check memory sections for manipulation and implement other strategies such as network proxies. There is a nice youtube playlist of LiveOverflow trying to beat pwnadventure this way.

On Game Hacking:

/r/REGames

/r/gamehacks

1

Your best "crack-mes" for games are games themselves! If spending money on games is a barrier to entry you'd rather not venture, then consider the following:

  1. Demo/trial/free-to-play games on Steam. These are all freely available for you to download and work with. There are filters you can toggle to search for these types of games on Steam, so it's easy to find them. Examples: Free to play and free demos.
  2. Open-source video games. Once again, these are free games, and they probably more fit the mold of your idea of a game crack-me since they're often somewhat crude/amateur in their artwork. These games have the added benefit of available source code, so you can imagine all the things that are possible if you'd like to dig deeper into specific things!
  3. Cheat Engine has two of its own crack-mes built in! One of them is text-based, and the other is graphics-based.
  4. As mentioned by Norwald, there are games made to be hacked, such as the PwnAdventure games--all of which (as well as other recommendations) can be found on a game-hacking GitHub repo I personally run.
  5. Itch.io is a treasure trove of free-to-play games created by amateur game developers! You'll find games created within all sorts of engines, which will give you some solid exposure to learning many of the differences between, say, Unity, GameMaker, Flash, etc.

There are others, but between those recommendations, you'll have exponentially more options than you could take on even if you wanted to! =)

Finally, if you REALLY get into things, I've been running a game-hacking channel on YouTube for ~5 years now, so there's a lot of fantastic educational material there if you're interested--as well as lots of videos showing you the true power of Cheat Engine and many of its buried features. Check it out sometime if you're so inclined!

  • Thanks for suggesting about all these sites. I know about the cheat engine built-in tutorials and I've already completed those. However, I felt that that wasn't enough to help with real world games. I don't know whether it's luck or some other reason but I've been constantly running into situations that aren't covered by the cheat engine tutorial. Hence, I felt the need for more tutorials. There's still seems to be a very serious dearth of good tutorials out there for Cheat Engine. About 95% of all tutorials that I come across deal with a quick search and replace which I would say is lucky. – Mugen Feb 5 at 4:42
  • Also, I'm aware of trying it out on the real games instead of using crackmes for cheat engine. The problem with real games is that there are no tutorials or "solutions" as such. The whole point of exercises and crackme sites is that they attach solutions for each exercise. Once you get stuck, then you can read the solution and then learn something new. – Mugen Feb 5 at 4:43
  • First off, my YouTube channel and another by the name of CheatTheGame, are chock full of tutorials that do FAR more than just scan memory. We use a multitude of games and cover countless scenarios. As you get better with hacking games, you'll learn how to provision for various scenarios, but I would wager that, at this point, you lack certain fundamental memory scanning knowledge (of which there's nothing wrong with; we're all beginners at some point). You can find your way to most anything via memory scanning, but that requires you to have ideas about what you're seeing in results. For ex.: – dsasmblr Feb 5 at 14:58
  • Is the value a 4-byte int, or a float? If float, then is it of extreme precision? What about a double? What if a nibble is used to store 4 boolean values in individual bits? What if the value is encrypted? What if the value is obfuscated by being casted to another type before it's written to memory? The list goes on, yet for all these scenarios, there's a way to find your way to values via memory scanning (save for scenarios where addresses change as new values are written for something like, say, health or ammo). – dsasmblr Feb 5 at 14:58
  • Here's my recommendation to you: go to fearlessrevolution.com which is currently the most bustling Cheat Engine community. Go to the Tables section of the forum. Look through the games there are tables for, then pick one. Look at what types of cheats the table provides for you. If you see one you want to try to hack, then go attempt it. If you fail, then go study the cheat table: what's the value type of the value you were looking for? Which instruction(s) did they find in relation to accessing that value? Etc. If that's not enough insight, then ask for help in the game's forum thread. – dsasmblr Feb 5 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.