Tutorial: Code-Injection with CheatEngine
Aim: Offline game "Command and Conquer: Tiberium Sun"
So let's use old non-protected offline game.
Requirements:
- x86 Assembler (Optional will help though)
- CheatEngine (Or Memory Scanner of your choice!)
- Command and Conquer: Tiberium Sun
- Extra note: If don't know anything about memory scanning, please try CheatEngine Tutorial (comes installed with CE) before you carry on this tutorial. It will take you like 5-10mins.
So let's make "Unlimited Tiberium"
- Open CE (CheatEngine) -> Settings -> Extra -> Stealth Mode (Kernel) - Tick it
- Open CE (CheatEngine) attach -> Game.exe
Step 1.)
- Value: Search for amount of tiberium you have
- Scan Type: Exact Value
- Value Type: 4Bytes
Step 2.)
Make your tiberium value change by building something so your tiberium reduces
Step 3.)
Repeat Step 1, 2 until your left with 1 memory address. I got "007A028"
Step 4.)
- Right Click -> Find out what writes to this address
- Look at last instruction: 004716DE - MOV [ESI+04], EBX
- Replace it (NOP)
Reasons why this not very effective: If some other opcodes forces update of the tiberium address to low value your NOP Instruction will stop increasing making you stuck with low value
For more experienced members who know x86 Assembler.
Here is more efficient way (just theory):
004716DE is non-shared opcode if you want to test set breakpoint on 004716DE.
For the cave:
Dissambler -> Tools -> Auto Assembler -> Template -> Cheat Table then Code-Injection
MOV [ESI+04], F423F // 999,999
by PoZHx