How are games and programs hacked?

Started by
19 comments, last by Daaark 13 years ago

Hi, can someone explain me how are games and programs hacked?

I cant understand how can someone change how my game works... What do hackers do? Are they able to read and change source code? I dont think so... So how do they do it?

I know that for hacking websites, you have to find a open port and make the program using it to crack or something? But how do you use that port of hack the computer? Do game hacking works like that?

Im not trying to hack anyone, I just think that I should know how hacking works so I can protect myself...

Advertisement
Most common is hex editing the exe file which can still leave checksums happy.
You can remove gameguard protection for example in some MMORPG clients using this.
To combat this you can pack your exe with something like aspack with a custom encryption.

You can also decompile the exe file into C but it would look very strange because all the symbols are missing.

Another common form of hacking is dll injection which can modify the way your game works.
Speed hacks, teleport hacks and all that is possible.

If its an online game then a hacker can mess up your packets by capturing them and replaying them
with modified values. Also man in the middle attacks.

For offline games biggest problem is that a user can modify his own computer memory and change any value.
Then again if its an offline game then does it really matter? I mean they bought the game so they have the right to modify it if they wish to
ruin their gameplay. In an online game you can make sure that your important variables are server sided.

I play certain single player games with a speed hack because I find it boring to constantly travel from place to place at snails pace.
I've heard of people doing it many ways. For example, someone could simply edit the files stored locally, capture and modify the packets for online games, change values stored in memory, etc. There are hackers who can change the source code (I believe; I am not 100% sure). For instance, if you have "if (!activated) { ... }" they can actually bypass that so it never checks for activation. Usually hackers will distribute a modified executable that has that code removed. Not sure if this is on an assembly level, hex change, etc... Not a hacker.

See this for an example of changing the values in memory: http://www.youtube.c...h?v=f6XkVG18Jxs


[EDIT]
See this as well: http://extreme-gamer...2/packetsending
A lot of Diablo 2 dupes came from things like this; sadly.
If you allow me to run code on my computer, I can hack it. I can remove any security you could ever dream up. As can most hackers around the world.

You just watch the app while it is running, as you find security you disable it (the exacts methods I will not discuss due to the agreement we have when signing up with the board).

Un-hackable software does not exist.

j.

I've heard of people doing it many ways. For example, someone could simply edit the files stored locally, capture and modify the packets for online games, change values stored in memory, etc. There are hackers who can change the source code (I believe; I am not 100% sure). For instance, if you have "if (!activated) { ... }" they can actually bypass that so it never checks for activation. Usually hackers will distribute a modified executable that has that code removed. Not sure if this is on an assembly level, hex change, etc... Not a hacker.

See this for an example of changing the values in memory: http://www.youtube.c...h?v=f6XkVG18Jxs


[EDIT]
See this as well: http://extreme-gamer...2/packetsending
A lot of Diablo 2 dupes came from things like this; sadly.


Sounds right... The second link is really interesting...
There is no single method of doing things called "hacking."

What you need to do depends entirely on what you want to accomplish.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

not related to this but:
to protect a game from hacking it would have to be online, and all relevant information must be "okayed" by a server
including movement, which is always the hardest part, because it doesnt scale at all

in a single player game, it would have to download levels / progress / stuff from a server, keep it temporarily,
but even that can be recorded and stored in a homemade daemon by someone with alot of patience
if you make sure to not leave any trace from loading / saving routines used under development, it can be effective
if your game is relatively unknown this is as good as it gets

the third is streaming the game live :) bad idea!

also, everything that has to do with online has its own caveats, for example security holese etc.
just making a server is in itself a security risk, because they are hard to make completely watertight
Remember hackers are not your customers. Just ignore them. They are never going to buy your app.

So keep the honest people honest and don't do anything that will irritate or make you customers feel that your app is invasive.

theTroll

Hi, can someone explain me how are games and programs hacked?
At the basic level, a computer is just executing a list of instructions, and those instructions involve reading from and writing back to memory. You just need to change the instructions, or change the memory.

The Game Genie product for the NES worked like this. All the codes were just addresses and values. Getting infinite health was just a matter of finding the address, and writing to it with a high value.

You could also program defensively against this. If a player takes damage, and his health is still 100, instead of (100-damage taken), then something fishy is going on, and you can react accordingly.

But then, you can counter against this by finding the check instructions in memory, and patching over them with your own instructions.

Hacking and prevention is a snake chasing it's own tail.


ccc

This topic is closed to new replies.

Advertisement