Leer & oefen AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Leer & oefen GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
[**Cheat Engine**](https://www.cheatengine.org/downloads.php) is 'n nuttige program om te vind waar belangrike waardes in die geheue van 'n lopende speletjie gestoor word en om hulle te verander.\
Wanneer jy dit aflaai en uitvoer, word jy **aanbied** met 'n **tutorial** oor hoe om die hulpmiddel te gebruik. As jy wil leer hoe om die hulpmiddel te gebruik, word dit sterk aanbeveel om dit te voltooi.
Hierdie hulpmiddel is baie nuttig om te vind **waar 'n waarde** (gewoonlik 'n nommer) **in die geheue** van 'n program gestoor word.\
**Gewoonlik word nommers** in **4bytes** vorm gestoor, maar jy kan hulle ook in **double** of **float** formate vind, of jy mag dalk iets **anders as 'n nommer** wil soek. Om hierdie rede moet jy seker wees dat jy **kies** wat jy wil **soek**:
In _**Edit --> Settings --> Hotkeys**_ kan jy verskillende **hotkeys** vir verskillende doeleindes stel, soos **om die****speletjie** te **stop** (wat baie nuttig is as jy op 'n stadium die geheue wil skandeer). Ander opsies is beskikbaar:
Sodra jy **gevind** het waar die **waarde** is wat jy **soek** (meer oor hierdie in die volgende stappe) kan jy dit **verander** deur dit dubbel te klik, en dan dubbel te klik op sy waarde:
Die **verandering** aan die **geheue** sal onmiddellik **toegepas** word (let daarop dat totdat die speletjie hierdie waarde weer gebruik, die waarde **nie in die speletjie opgedateer sal word**).
So, ons gaan veronderstel dat daar 'n belangrike waarde is (soos die lewe van jou gebruiker) wat jy wil verbeter, en jy soek hierdie waarde in die geheue)
Cheat Engine sal soek na die **waardes** wat **van 100 na die nuwe waarde gegaan het**. Geluk, jy **gevind** die **adres** van die waarde waarna jy gesoek het, jy kan dit nou verander.\
_As jy steeds verskeie waardes het, doen iets om daardie waarde weer te verander, en voer 'n ander "volgende skandering" uit om die adresse te filter._
In die scenario waar jy **nie die waarde weet nie** maar jy weet **hoe om dit te laat verander** (en selfs die waarde van die verandering) kan jy jou nommer soek.
Dan, laat die waarde verander, dui aan **hoe** die **waarde****verander** het (in my geval is dit met 1 verminder) en voer 'n **volgende skandering** uit:
Tot nou toe het ons geleer hoe om 'n adres te vind wat 'n waarde stoor, maar dit is hoogs waarskynlik dat in **verskillende uitvoerings van die speletjie daardie adres in verskillende plekke van die geheue is**. So kom ons vind uit hoe om daardie adres altyd te vind.
Gebruik sommige van die genoem truuks, vind die adres waar jou huidige speletjie die belangrike waarde stoor. Dan (stop die speletjie as jy wil) doen 'n **regsklik** op die gevonde **adres** en kies "**Vind uit wat hierdie adres benader**" of "**Vind uit wat na hierdie adres skryf**":
Die **eerste opsie** is nuttig om te weet watter **dele** van die **kode** hierdie **adres****gebruik** (wat nuttig is vir meer dinge soos **om te weet waar jy die kode** van die speletjie kan verander).\
Die **tweede opsie** is meer **spesifiek**, en sal meer nuttig wees in hierdie geval aangesien ons belangstel om te weet **van waar hierdie waarde geskryf word**.
Sodra jy een van daardie opsies gekies het, sal die **debugger** aan die program **gekoppel** word en 'n nuwe **leë venster** sal verskyn. Nou, **speel** die **speletjie** en **verander** daardie **waarde** (sonder om die speletjie te herbegin). Die **venster** moet **gevul** wees met die **adresse** wat die **waarde****verander**:
Nou dat jy die adres gevind het wat die waarde verander, kan jy **die kode na jou goeddunke verander** (Cheat Engine laat jou toe om dit vinnig vir NOPs te verander):
Volg die vorige stappe, vind waar die waarde wat jy belangstel in is. Dan, gebruik "**Vind uit wat na hierdie adres skryf**" om uit te vind watter adres hierdie waarde skryf en dubbelklik daarop om die disassembly weergave te kry:
Nou, klik op die "Pointer" vink en voeg die gevonde adres in die teksvak (in hierdie scenario, was die gevonde adres in die vorige beeld "Tutorial-i386.exe"+2426B0):
Kode inspuiting is 'n tegniek waar jy 'n stuk kode in die teiken proses inspuit, en dan die uitvoering van kode herlei om deur jou eie geskryf kode te gaan (soos om jou punte te gee in plaas van om dit te verwyder).
So, voeg jou nuwe assembly kode in die "**newmem**" afdeling in en verwyder die oorspronklike kode uit die "**originalcode**" as jy nie wil hê dit moet uitgevoer word\*\*.\*\* In hierdie voorbeeld sal die ingespotte kode 2 punte byvoeg in plaas van om 1 af te trek: