How i make an ant-cheat for Cheat Engine?

0 favourites
  • 14 posts
From the Asset Store
75 vehicle sound effects, from real looping car engines to jet aircraft and sci-fi engines.
  • I'm making an boss-fight game based, and, one of my alpha tester used cheat engine to get unlimited health. I thinked that to make an ant-cheat will be easy, but, it won't. So, i need an help to make an ant-cheat for the health of the player. I tried making an mask that count the health of the player and the original health, but, if you search the same value in Cheat engine, you can change boths and the ant-cheat won't work. So, i need an big help at this, if you know a code that detects the name of the application opened it will work but can be easily bypassed, but, it's something.

    Objective 1.0: If the value life is changed without being by the game, will close the game.

    Objective 2.0: Check the name of all applications opened, and, if one is named Cheat Engine, close the game. ( I'll prefer the objective 1.0, however, this works to.)

  • Yes you could have more than one health variable and you can compare them or do some sort of checksum. Or just periodically save the current health to a backup variable and then compare them. However I will say this seems like a lot of work to prevent a would-be 'cheater'. Is it worth it?

    Do you expect a lot of people to cheat in your game? This alpha tester told you they use it and I almost feel that if people go through that many steps to cheat, I would probably let them. It only harms themselves since they are 'breaking' the game.

  • Yes you could have more than one health variable and you can compare them or do some sort of checksum. Or just periodically save the current health to a backup variable and then compare them. However I will say this seems like a lot of work to prevent a would-be 'cheater'. Is it worth it?

    Do you expect a lot of people to cheat in your game? This alpha tester told you they use it and I almost feel that if people go through that many steps to cheat, I would probably let them. It only harms themselves since they are 'breaking' the game.

    Paragraph 1: I tried that method but, the Cheat Engine will compare ALL things that has the same value, so, probably the cheater will choose all that have the health value and change it/lock it. I tried saving the health variable to a server but, is client side so, it's cheatable too.

    Paragraph 2: I think an medium number of players would cheat. The alpha tester cheated because he told to me that the game is so difficulty and he wanted to know that if is possible to cheat with it. I'm making an Undertale fan-game based synced with the background music. So, like it's a Undertale game, i think that will be a lot of people interested on playing, and, a lot of kid, including the kiddies that think they're anonymous with Cheat Engine. So, they won't handle the difficulty of my game, and, cheat. Like i said, if i could detect the opened programs, it can work too but, if the player tries to rename it to test if he can bypass, he will succed. And, some players won't cheat just to have the fun of the game, that is just survive. And, i don't care about if the player cheats too or not, but, i care about the fun of my game. If the player cheats, what type of fun he will acquire? Like, some games gives you cheat options to make you have fun, but, in my game, that is not possible. Seeing you going trough difficulty phases, dodgin everything, and, having that satisfaction of "I did it!", that's the fun of the game, like an normal rage game.

    So, i don't know other types of Ant-cheat method, so, any other better option i would be really thankfull, i think an ant-cheat is not so much needed but, anyways, it will better to have one. Every type of ant-cheat that works, will be useful for me.

  • If you don't care about the people cheating, why even bothering then?

    It's their decision if they want their fun destroyed, they problably DO have fun cheating. Otherwise they wouldn't do it.

    I think you are certainly going into a completely wrong direction. You can't dictate a player that he won't have fun cheating, because he is missing all those "I did it!" moments. He definitely knows that he bypasses those intentionally, so you should not bother about cheaters.

    If your game would be either online or have certain important unlockables, cheater might be a bigger problem. But if not, just keep working on the game.

  • If you don't care about the people cheating, why even bothering then?

    It's their decision if they want their fun destroyed, they problably DO have fun cheating. Otherwise they wouldn't do it.

    I think you are certainly going into a completely wrong direction. You can't dictate a player that he won't have fun cheating, because he is missing all those "I did it!" moments. He definitely knows that he bypasses those intentionally, so you should not bother about cheaters.

    If your game would be either online or have certain important unlockables, cheater might be a bigger problem. But if not, just keep working on the game.

    Yes, the game ins't online and doens't have unlockables. I think you're right, just let then cheat. i though that if the player cheats, he can't have fun on my game, but, if he choose the option to cheat, so, i think he's going to have it anyway, just because he knows he managed to cheat in an undertale game. Thanks anyway bro.

  • Paragraph 1: I tried that method but, the Cheat Engine will compare ALL things that has the same value, so, probably the cheater will choose all that have the health value and change it/lock it. I tried saving the health variable to a server but, is client side so, it's cheatable too.

    I mean to spread your health over more than one variable.

    Do constant static variables help in this situation? seems like they would be in protected memory.

    see here are cheat users trying to find ways around constants...

    forum.cheatengine.org/viewtopic.php

  • One option that can help is protecting your sensitive variables with a hash. For example, every time you change Health variable, calculate a new hash for it. Every time you need to check if player has enough health, also check if the hash is correct. If the hash is wrong - you know that the player is trying to cheat.

    This, of course, will not make your game completely unhackable, but I believe people will not be able to cheat using automated software like Cheat Engine.

  • One option that can help is protecting your sensitive variables with a hash. For example, every time you change Health variable, calculate a new hash for it. Every time you need to check if player has enough health, also check if the hash is correct. If the hash is wrong - you know that the player is trying to cheat.

    This, of course, will not make your game completely unhackable, but I believe people will not be able to cheat using automated software like Cheat Engine.

    Idk so much about Hash, if possible, you can send me some topics about it? And, a hash value will be not possible to find it in the Cheat Engine? And thanks, didn't thinked in that way, gonna try it after i searched a bit about it.

  • > Paragraph 1: I tried that method but, the Cheat Engine will compare ALL things that has the same value, so, probably the cheater will choose all that have the health value and change it/lock it. I tried saving the health variable to a server but, is client side so, it's cheatable too.

    >

    I mean to spread your health over more than one variable.

    Do constant static variables help in this situation? seems like they would be in protected memory.

    see here are cheat users trying to find ways around constants...

    https://forum.cheatengine.org/viewtopic.php?p=5657759

    The player health is an instance variable but, even if the player health was an static global variable, that won't work. I tried that in an test game, and i could change the variable. Even with more than 1 variable. I've just changed the 3 variables that i made ( 2 Global and 1 instance ), and i could cheat freely.

  • no, what I mean is always keep the player at 100% then keep timesDamaged variable and calculate what the health is - of course you would need only 1 damage value for this to work. Another way would be to use an array. Every time the player loses health store the damage to the array. Then to calculate health loop through the array.

  • I don't know how advanced these cheating tools are, maybe a simple obfuscation will do the trick. For example you can store the number as text with some random characters in between: "d9u5p"=95. Or replace numbers with letters: "V"=1, "X"=2, "B"=3 etc.

    And, a hash value will be not possible to find it in the Cheat Engine?

    Yeah, but Cheat Engine doesn't know that you are using hashing, so it will not be looking for it.

    See this demo:

    dropbox.com/s/y5oru3mfi1hwpco/HashDemo.capx

    It requires CBhash plugin.

  • Call me crazy, but I would rather know if someone was cheating.

    Just a thought.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Call me crazy, but I would rather know if someone was cheating.

    Just a thought.

    Yes, it was, but, thanks to these heroes up, i could patch succesfully an bit of the CE.

  • I don't know how advanced these cheating tools are, maybe a simple obfuscation will do the trick. For example you can store the number as text with some random characters in between: "d9u5p"=95. Or replace numbers with letters: "V"=1, "X"=2, "B"=3 etc.

    > And, a hash value will be not possible to find it in the Cheat Engine?

    Yeah, but Cheat Engine doesn't know that you are using hashing, so it will not be looking for it.

    See this demo:

    https://www.dropbox.com/s/y5oru3mfi1hwpco/HashDemo.capx?dl=0

    It requires CBhash plugin.

    Thanks, i liked the encrypt method, and it works fine!

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)