Eli5 How does replacing an exe file, cracking, games and programs work?


Eli5 How does replacing an exe file, cracking, games and programs work?

In: 0

I am basing this off 20 year old information but things have not changed that much. Basically the EXE files and the DLL files contain all the executable code of the game. All the other files are just assets such as graphics, 3D models, audio, level maps, game scripts, etc. One of the first things the game does as it starts up is to run some code to try to verify if you have bought the game legally or not. But a skilled person can look at the executable code which the processor executes and identify the parts of the code which does this validation and then modify them to always return true. Is is possible to make a small patch which only contain these changes, usually just a few bytes. However technically inept people might have problems applying this patch on their own. And because the executable files in a game is so small and tends to be the same for everyone it is much easier to just publish a full cracked version of the exe files.

you know that little “exe” stands for executable.
What is happening when you click on that file is that it is going to run a lot of different commands in order to run the software.
One of these commands is going to run some sort of anti piracy protection such as an online verification step, a serial code screen and so on.
Essentially when someone replaces an exe file they’re using a modified exe file. Crackers, using different kinds of hacking skills, change the exe file, stripping it down of the anti piracy barriers.

Just to keep it Eli5, on a C64 computer I had a thingy that let me copy memory. So I would start a game like Pacman where I had 3 lifes. I would search for 3. Then let a ghost catch me. I would search for 2 and map those. Then get caught again. 1 life left. Map those.

This would give me a short list of memory locations and I could try set them. So why not try any value like 42? Some locations would make the game crash as I just altered some code. But the real deal is to go back to the game and find that I now got 42 lifes. Neat!

From there I could scan the code looking for anything that touches that memory location. And I would find ‘if dead lower life count with 1’. How about lower with 0 instead? I’m now immortal. Neat!

This is very simplified and cracking a modern game is not that easy, but the principle is the same.