Game Hacking
Part 1. The Lazy Player
TimNew
Disclaimer
- For Fun
- No Multiplayer Game
- No Online Game
- No Mobile Game
- Memory hack only
- No cracking / No piracy
PG - 13
Have you...?
Have you heard about hack/cheat in a game?
Have you tried to use a built-in cheat code in a game?
Have you tried to use some tool to hack a game?
Have you tried to work out how the game work?
Have you tried to build your own game?
Have you ever considered how to prevent game being hacked
History
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
PEOPLE DID IT
PEOPLE LIVE ON IT
PEOPLE KEEP DOING IT
SUEPR BRIEF HISTORY
Dinosaurs Technologies
INCOMPLETE LIST
GAME BUSTER
GAME WIZARD
FPE2000
GAME MASTER
FPE (FIX PEOPLE EXPERT)
GDB
PC TOOLS
BLACK ICE
CheatEngine
BitSlicer
MODERN TECHNOLGY
Storm Alert
- We will start to discuss some hardcore words, like memory, compiler, assembly code, debugger, break point, pointer....
- I'll try to make it as simple as possible
- Feel free to interrupt me and ask question if you're puzzled by a certain term, or things behind it.
- Try to grasp the overview, you can still do it even you don't really understand every detail behind it.
- I'm saying it because I don't know every detail too
Don't forget your wind proof umbrella
What we want?
To be invincible?
Or can spent as much money as you want?
Or cast forbidden spell like eating candy?
Game world is a digital world
Or maybe values
let us talk about this later
Or get some rare item without spending hundreds of hours
so every thing is just a value
Let us translate
Invincible
Keep HP the same even being attacked
Keep money the same, when buying stuff
Super rich
Keep mana the same, when casting spell
Unlimited Mana
Assign a new value(s) to the inventory
Rare item
What we really want
Find the value
Keep it the same
Or change it to a certain value
Constantly or under a certain condition
So Find the value is the key
Game Hacking 101
Memory Scan
MEMORY!
What we need to do
The value is stored in variable
The value of a variable is somehow stored in the memory
Developer update the value by assigning value to the variable
Variable is kind of an address to the value
Variable name is translated into memory address by compiler
What we need to do is to find the type and the address of the variable
Update the value or freeze it
Demo
Memory Scan
Find the address using memory scan
Update value/freeze value works great
BUT the address might change
BUT we might want the value changing by rule rather than just frozen
BUT freezing value might crash the game
BUT it fails when address changed
BUT there might be more than 1 addresses
The MODERN Way
- Memory scan
- More Memory scan
- Find a group of address
- Find out the dominant address
- Breakpoint to find memory writer/reader
- Update the code
Demo
Explain the code
0x1126F2C9C movsxd rax, dword [r14+0x38] 49 63 46 38
0x1126F2CA0 inc eax FF C0
0x1126F2CA2 mov [r14+0x38], eax 41 89 46 38
mov eax, 0xffff b8 ff ff 00 00
mov [r14+0x38], eax 41 89 46 38
One more Problem!
49 63 46 38 FF C0 41 89 46 38
10 Bytes
b8 ff ff 00 00 41 89 46 38
9 Bytes
b8 ff ff 00 00 41 89 46 38 90
9 + 1 Bytes
movsxd rax, dword [r14+0x38]
inc eax
mov [r14+0x38], eax
mov eax, 0xffff
mov [r14+0x38], eax
mov eax, 0xffff
mov [r14+0x38], eax
nop
What have you learnt?
Why people hack game?
Questions to developers
Why there are clones?!
HOW DO YOU SAVE YOUR GAME FROM
Memory scan
Memory lock
Memory Edit
Code Injection
What did I really talk about?
Data Security!
Thank You
Game Hacking
Part 2. The Mad Developer
TimNew
No more scan
No more lock
No more edit
No more debugger?!
Game Hacking
By timnew
Game Hacking
- 122