Cheat Engine
Reading time: 6 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Cheat Engine ni programu muhimu ya kutafuta mahali ambapo thamani muhimu zimehifadhiwa ndani ya kumbukumbu ya mchezo unaoendelea na kuzibadilisha.
Unaposhusha na kuendesha, unapata mafunzo ya jinsi ya kutumia chombo hicho. Ikiwa unataka kujifunza jinsi ya kutumia chombo hicho, inashauriwa kukamilisha.
Unatafuta nini?
Chombo hiki ni muhimu sana kutafuta mahali ambapo thamani fulani (kawaida ni nambari) imehifadhiwa katika kumbukumbu ya programu.
Kawaida nambari huhifadhiwa katika 4bytes, lakini unaweza pia kuziona katika double au float formats, au unaweza kutaka kutafuta kitu tofauti na nambari. Kwa hiyo unahitaji kuwa na uhakika unachagua kile unachotaka kutafuta:
Pia unaweza kuashiria aina tofauti za tafutizi:
Unaweza pia kuangalia kisanduku ili kusitisha mchezo wakati wa kuskania kumbukumbu:
Hotkeys
Katika Edit --> Settings --> Hotkeys unaweza kuweka hotkeys tofauti kwa madhumuni tofauti kama kusitisha mchezo (ambayo ni muhimu sana ikiwa kwa wakati fulani unataka kuskania kumbukumbu). Chaguzi nyingine zinapatikana:
Kubadilisha thamani
Mara tu unapokuwa umeipata ambapo thamani unayo tafuta (zaidi kuhusu hii katika hatua zinazofuata) unaweza kuibadilisha kwa kubofya mara mbili, kisha kubofya mara mbili kwenye thamani yake:
Na hatimaye kuweka alama ili kupata mabadiliko yafanyike katika kumbukumbu:
Mabadiliko kwa kumbukumbu yatatumika mara moja (kumbuka kwamba hadi mchezo usitumie thamani hii tena thamani haitawekwa upya katika mchezo).
Kutafuta thamani
Hivyo, tunaweza kudhani kwamba kuna thamani muhimu (kama maisha ya mtumiaji wako) ambayo unataka kuboresha, na unatafuta thamani hii katika kumbukumbu)
Kupitia mabadiliko yanayojulikana
Tukidhani unatafuta thamani 100, unafanya scan ukitafuta thamani hiyo na unapata coincidences nyingi:
Kisha, unafanya kitu ili thamani ibadilike, na un asitisha mchezo na ufanye scan inayofuata:
Cheat Engine itatafuta thamani ambazo zilipita kutoka 100 hadi thamani mpya. Hongera, umepata anwani ya thamani uliyokuwa unatafuta, sasa unaweza kuibadilisha.
Ikiwa bado una thamani kadhaa, fanya kitu ili kubadilisha tena thamani hiyo, na fanya "scan inayofuata" ili kuchuja anwani.
Thamani isiyojulikana, mabadiliko yanayojulikana
Katika hali ambapo hujui thamani lakini unajua jinsi ya kuifanya ibadilike (na hata thamani ya mabadiliko) unaweza kutafuta nambari yako.
Hivyo, anza kwa kufanya scan ya aina "Thamani ya mwanzo isiyojulikana":
Kisha, fanya thamani ibadilike, onyesha jinsi thamani ilibadilika (katika kesi yangu ilipungua kwa 1) na fanya scan inayofuata:
Utawasilishwa na thamani zote ambazo zilibadilishwa kwa njia iliyo chaguliwa:
Mara tu unapokuwa umepata thamani yako, unaweza kuibadilisha.
Kumbuka kwamba kuna mabadiliko mengi yanayowezekana na unaweza kufanya hatua hizi mara nyingi kadri unavyotaka ili kuchuja matokeo:
Anwani ya Kumbukumbu ya Nasibu - Kutafuta msimbo
Hadi sasa tumefundishwa jinsi ya kupata anwani inayohifadhi thamani, lakini ni uwezekano mkubwa kwamba katika utekelezaji tofauti wa mchezo anwani hiyo iko katika maeneo tofauti ya kumbukumbu. Hivyo hebu tujifunze jinsi ya kila wakati kupata anwani hiyo.
Kwa kutumia baadhi ya hila zilizotajwa, pata anwani ambapo mchezo wako wa sasa unahifadhi thamani muhimu. Kisha (ukisitisha mchezo ikiwa unataka) fanya kulia kwenye anwani iliyopatikana na uchague "Jua ni nani anayefikia anwani hii" au "Jua ni nani anayandika kwenye anwani hii":
Chaguo la kwanza ni muhimu kujua ni sehemu gani za msimbo zinazo tumia anwani hii (ambayo ni muhimu kwa mambo mengine kama kujua wapi unaweza kubadilisha msimbo wa mchezo).
Chaguo la pili ni maalum zaidi, na litakuwa na msaada zaidi katika kesi hii kwani tunavutiwa kujua kutoka wapi thamani hii inaandikwa.
Mara tu unapochagua moja ya chaguzi hizo, debugger itakuwa imeunganishwa na programu na dirisha jipya bila maudhui litajitokeza. Sasa, cheza mchezo na badilisha hiyo thamani (bila kuanzisha upya mchezo). Dirisha linapaswa kuwa limejaa na anwani ambazo zina badilisha thamani:
Sasa kwamba umepata anwani inayobadilisha thamani unaweza kubadilisha msimbo kwa mapenzi yako (Cheat Engine inakuwezesha kuibadilisha kwa NOPs haraka):
Hivyo, sasa unaweza kuibadilisha ili msimbo usiathiri nambari yako, au uathiri kila wakati kwa njia chanya.
Anwani ya Kumbukumbu ya Nasibu - Kutafuta kiashiria
Kufuata hatua zilizopita, pata mahali ambapo thamani unayovutiwa nayo iko. Kisha, kwa kutumia "Jua ni nani anayandika kwenye anwani hii" pata ni anwani gani inayoandika thamani hii na ubofye mara mbili ili kupata mtazamo wa disassembly:
Kisha, fanya scan mpya ukitafuta thamani ya hex kati ya "[]" (thamani ya $edx katika kesi hii):
(Ikiwa kadhaa zinaonekana kawaida unahitaji anwani ndogo zaidi)
Sasa, tumepata kiashiria ambacho kitakuwa kinabadilisha thamani tunayoipenda.
Bofya kwenye "Ongeza Anwani kwa Mikono":
Sasa, bofya kwenye kisanduku cha "Kiashiria" na ongeza anwani iliyopatikana kwenye kisanduku cha maandiko (katika hali hii, anwani iliyopatikana katika picha ya awali ilikuwa "Tutorial-i386.exe"+2426B0):
(Kumbuka jinsi "Anwani" ya kwanza inajazwa kiotomatiki kutoka kwa anwani ya kiashiria unayoingiza)
Bofya OK na kiashiria kipya kitaundwa:
Sasa, kila wakati unabadilisha thamani hiyo unakuwa unabadilisha thamani muhimu hata kama anwani ya kumbukumbu ambapo thamani hiyo iko ni tofauti.
Uingizaji wa Msimbo
Uingizaji wa msimbo ni mbinu ambapo unatia kipande cha msimbo ndani ya mchakato wa lengo, na kisha kuhamasisha utekelezaji wa msimbo ili upite kupitia msimbo wako ulioandikwa (kama kukupa alama badala ya kuziondoa).
Hivyo, fikiria umepata anwani inayopunguza 1 kwa maisha ya mchezaji wako:
Bofya onyesha disassembler ili kupata msimbo wa disassemble.
Kisha, bofya CTRL+a ili kuanzisha dirisha la Auto assemble na uchague Template --> Uingizaji wa Msimbo
Jaza anwani ya maagizo unayotaka kubadilisha (hii kawaida hujaza kiotomatiki):
Kigezo kitaundwa:
Hivyo, ingiza msimbo wako mpya wa assembly katika sehemu ya "newmem" na ondoa msimbo wa asili kutoka kwa "originalcode" ikiwa hutaki utekelezwe. Katika mfano huu, msimbo uliotiwa utaongeza alama 2 badala ya kupunguza 1:
Bofya kwenye tekeleza na kadhalika na msimbo wako unapaswa kuingizwa katika programu ukibadilisha tabia ya kazi hiyo!
Marejeleo
- Mafunzo ya Cheat Engine, kamilisha ili kujifunza jinsi ya kuanza na Cheat Engine
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.