Segítségre szorulok memória programozásban?
Ha esetleg írna nekem egy programot egy jótét lélek akkor nagyon hálás lennék neki.
A programnak tudnua kellene egy adott érték alapján és egy ablak alapján kilistázni nekem a mamóriakódokat.
PL:Egy programból ki szeretném szűrni a 403-at de van többféle memóriacímmel. Ekkor a program kiírja 1)50BA1;2)5BNHS és így tovább.
Hálás lennék ha segítenétek.
Én általam megírt programba már csak a memóriacímek hiányoznának.
ÖF:Egy adott értékhez, kellene az összes memóriacím a memóriából, egy ablaknak a címe van megadva!
Szia! Ki tudnád fejteni a problémádat valamivel szakszerűbben? Mit szeretnél végsősoron elérni egészen pontosan? Mit szeretnél ("memóriakódok" címszóval) kinyerni a memóriából? Az összes ablak HANDLE -jét? Mit takar az az "adott érték"; mármint mi a célja, mit jelent? Hogy jön ide a 403, és egyáltalán a HTTP 403 hibáról beszélünk? Milyen adatot takar az "50BA1", illetve "5BNHS", amit a programod kiír és hogyan illeszkednek ezek a képbe?
Kissé zavaros ez így, már csak azért is, mert olyan önálló fogalom, mint "memóriakód" nincs; ily módon pedig nem egyszerű kitalálni, mit szeretnél.
"Memóriaprogramozás" ugyan létezik, de az egy egészen másik történet (pl. EPROM -okba való írást takar, ami már az elektronika szakterülete).
Megtennéd, hogy nekifutsz mégegyszer? Köszi!
Mit foglalkozol velem, már majdnem összejött a dolog csak a címek hiányoznak! Ha neked meg nem tetszik akkor ne olvasd!
--------------------------------------
Az tény is igaz, hogy "csalni" szeretnék de szerintem az már elismertebb csalás ha "én" általam készített programmal csalok.
--------------------------------------
Olyan programot szeretnék ami egy "konkrét értékhez" viszonyítva kiolvassa a memóriából az adress-t, amit egy adott program használ. Példának okáért PL:Gta-ban van "189" db lőszerem. Akkor a programba meg keljen adni az "ablak nevét", és a "189"-et és a program elkezdi végigpásztázni a memóriát abban a tartományban amennyit a "gta ablak hazsnál" és ha talál 7 db adress-t aminek az értéke 189 akkor azt nekem kiírja!
--------------------------------------------
Már a másik felét megírtam a programnak csak ez hiányzik, hogy megtudjam az adress-t. Ha érdekel a program elő fele akkor küldj egy Privátot és elküldöm!
Ez így nem lesz jó. Az ablakot hiába találod meg a FindWindow -val, az csak egy handle -t ad vissza az ablakra, ami pusztán a játék GUI -jának leírója. Még találhatsz is ott "189" -et, de azt aztán hiába írod át bármire is.
Emellett, a példakódod nincs összhangban a fenti kommenteddel, sem pedig a témaindító kérdéseddel. Példának okért egy deka "pásztázást" nem látok benne, csupán egy előre hardcode -olt címre beírsz egy 500 -as értékű int -et.
Komoly képzavar van itt...
"ÖF:"
1. FindWindow
2. OpenProcess
3. Iterálj végig a TELJES címtartományon és pakold a találatokat egy listába
4. A játékban tégy valamit, hogy megváltozzon az épp keresett adat
5. Iterálj újra, és a listából meglevők közül dobd ki azokat, amelyek nem az új értéket tartalmazzák.
6. Írd ki a lista tartalmát
7. Ugorj a 4. pontra, amíg a lista hosszabb 1 -nél és szemmel láthatóan változik
8. Ami marad, az (kis szerencsével) a konkrét adatod lesz, meg tán némi cache, esetleg UI data.
9. A UI szemetet kidobhatod a listából, ha a 3. pontot végrehajtod az ablak bufferén, és az eredeti találati listádból kidobod azon címeket, amik a UI-os találatok közt is szerepelnek.
10. A maradékot meg (ha szükséges) totózd ki kézzel*
*ÍGY
1. Vedd az elsőt.
2. Írd át
3. Nézd meg, eredményes-e
4. Ha nem, vedd a következőt
5. Ugorj a 2. pontra, amíg nem sikerül, vagy el nem fogynak a lehetőségek.
6. Ha elfogytak a lehetőségek, akkor
A) Játszd el ugyanezt a szűretlen listán
B) Rácsesztél
Amivel próbálkozol, évek óta készen van. Cheat Engine néven letöltheted, a memóriamódosításon kívül makrózás, speedhack is van benne.
Mivel a szoftver sűrűn használt, ezért a legtöbb helyen védekeznek is ellene. Ezért egy multiplayer játékban te simán leállíthatsz magadnak végtelen lőszert, ha a szerver tartja számon.
A Cheat Engine-vel ki törölheted ugyanis multiplayer(online) játékoknál nem a te gépeden vannak számon tartva hogy éppen miből mennyi van nálad.
PL:Van 10 lőszered rákeresel bead egy csomó 10-eset, el lősz 3 lőszert, rákeresel a 7-re megtalálod azokat amik változtak , átirod őket pl 999-re nálad ki is irja hogy 999 van ,de csak 7-et tudsz el lőni.
UI:De a nem multis(offline) játékoknál működik.
@Armaniboy:
Ehhez azért tegyük hozzá, hogy olyan játékokra igaz, amelyek központi szerveren keresztül oldják meg a multiplayer üzemmódot. Amennyiben valamelyik játékos gépe szolgál szerverként, úgy minimum az ő gépén lehetőség van a cheatre, de egyes, rossz design szerint összerakott játékoknál, a memória átírásával továbbra is lehetőség van cheatelni multiplayer módban is.
Apró érdekességként hozzátenném, hogy a processzor cache -elheti a gyakran használt adatokat, így egyrészt nem biztos, hogy megtalálod a keresett adatot a memóriában, másrészt, ha meg is találod, hiába írod át, mert a proci nem onnan olvassa.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!