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