Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 14:11 Der er 13 kommentarer

Læs al ram i windows - 'udspionere' kørende windowsprogrammer'

Jeg vil gerne lave et program som skal kunne læse enhver adresse i ram, så jeg kan 'udspionere' kørende windowsprogrammer.

Nogen der kender noget open source som kan løse det problem?

Fx i et spil, så kan man finde ud af hvilke adresser/variabler som indeholder antal liv, guldmønter etc. og så lave et lille program som giver ekstra liv m.m. - eller man kan søge efter spyware.

jeg vil gerne kunne læse og identificere variable i kørende programmer, behøver ikke kunne ændre dem i første omgang.

Jeg er helt blank med hensyn til programmering af windows7, men vil tro der må være noget c++ kode et sted. Alternativt hellere et bibliotek i java eller php som jeg er bedre til.
Avatar billede claes57 Ekspert
04. oktober 2012 - 14:18 #1
windows er opbygget, så det ene program ikke har adgang til andre kørende programmers hukommelse.

Og du skal være ret skrap til maskinkode for at finde pladsen. Helt tilbage i commodore's tid (R.I.P.) kunne man peek (se) og poke (skrive) i ram.
Avatar billede lclemens Nybegynder
04. oktober 2012 - 14:40 #2
Det er ingen sag at læse hukommelsen fra andre applikationer. Det gøres gennem API-kald.

Hvis du gogler søgeord i stil med "game hacking", "cheat engine", "game trainer" så får du sikkert en masse gode idéer.
Avatar billede lclemens Nybegynder
04. oktober 2012 - 14:42 #3
Avatar billede chalde Seniormester
04. oktober 2012 - 16:35 #4
Som #2 er inde på findes der mange ved en googlesøgning. Flere af dem kan også skrive ændre i aktive processer. f.eks: http://cheatengine.org/aboutce.php
Dette kan kombineres med Process Explorer og Process Monitor fra Sysinternals hvis du vil lidt længere ud i systemet:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
http://technet.microsoft.com/en-us/sysinternals/bb896645
Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 18:01 #5
Claes - det kan lade sig gøre, ved godt de er beskyttede, men det kan altid lade sig gøre på den ene eller den anden måde.

Commodore 64 -  minderne vælter frem Sys 49152 herfra ;)
Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 18:02 #6
Fandt et c# program på codeproject der påstås at kunne gøre det - kender ikke c#, men det er et sted at starte måske.
Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 18:04 #7
gode søgeord - har googlet 'read memory in windows' og alt muligt andet som ikke har ført til andet end at det måske er muligt vha. bibliotekerne jni og jna i java.
Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 18:06 #8
codeproject duer ikke - det kan ikke klare onlinegames står der.
Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 18:07 #9
mener i ovenstående at cheatengine ikke duer fordi det ikke kan klare onlinegames, men ellers kunne det være godt så tak for det.
Avatar billede lclemens Nybegynder
04. oktober 2012 - 18:16 #10
Minestryger-projektet kommer ind på ReadProcessMemory og WriteProcessMemory, som er hele kernen i at tilgå en anden proces' adresserum. Det må være udgangspunktet, når du selv vil i gang med at skrive noget kode.
Avatar billede jdlindstroem Nybegynder
04. oktober 2012 - 19:08 #11
@ic - hmm selv om jeg må skifte programmeringssprog til c# for at lave den funktionalitet, så er det jo et ret godt udgangspunkt, da det ved første øjekast ser ud til at have 2 kb source og læser og skriver til hukommelsen ;) Ved nærmere eftersyn så er den fra 2003 og ikke nødvendigvis kompatibel med windows 7, men worth a try: http://www.codeproject.com/Articles/3501/Minesweeper-Behind-the-scenes

Jeg har googlet på game trainer m.m. og source, men ikke rigtig fundet noget.
Avatar billede jdlindstroem Nybegynder
05. oktober 2012 - 19:10 #12
Tak for hjælpen og især linket til codeproject/minesweeper.
Avatar billede jdlindstroem Nybegynder
05. oktober 2012 - 19:12 #13
Jeg kan ikke lige finde ud af at give point - vil selvfølgelig gerne give dem - vælger 'svar til løsninger og pointgivning', men kan vist kun svare mig selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester