Avatar billede mbm2016 Nybegynder
04. november 2009 - 19:39 Der er 5 kommentarer og
1 løsning

Hukommelses Scanning

Hej eksperter,

Jeg har siddet her og brugt næsten 2 timer på både at læse om templates og Memory, og nu har jeg bakset en klasse sammen, som kan manipulerer Hukommelsen i en process. Jeg har lagt den ind i et namespace til fremtidig videreudvikling.

Link: Klik her

Mit problem er bare at min MemorySearch klasse, som skal søge i et specifikt programs hukommelse, er mega langsom.

Findes der er bedre og meget hurtigere måde at gøre det på?

/Magnus
Avatar billede bertelbrander Novice
04. november 2009 - 19:48 #1
Det er nok smartere at åbne processen én gang for alle, og vente med at lukke den til du er helt færdig med at læse, i stedet for at åbne og lukke den for hver læsning.

Men det bliver aldrig meget hurtigt at læse en andens process memory.
Avatar billede arne_v Ekspert
04. november 2009 - 19:49 #2
Saa vidt jeg kan se aabner du processen for hvert read kald til - det maa vaere hurtigere at aabne i constructor (eller en init metode) og lade read metoden bruge en allerede aabnet handle.
Avatar billede mbm2016 Nybegynder
04. november 2009 - 19:58 #3
Jeg kan godt se at det der med at åbne og lukke hver gang er noget høg ;)

men jeg tænkte på hvordan Cheat Engine kunne scanne så hurtigt i forhold til min klasse

og ja jeg ved godt cheat engine er Open Source men jeg må indrømme at delphi ikke er min stærke side og at jeg har prøvet at downloade source filerne og fattede nada. Ikke bare på grund af at det var delphi kode men også på grund af at der var så sindsyg mange filer :)

er der nogle der ved hvordan cheat engine gør og evt. Give mig et kode eksempel?

/magnusbm
Avatar billede ksoren Nybegynder
04. november 2009 - 20:36 #4
ReadProcessMemory er en ret så langsom funktion at afvikle. Så den bør kaldes så få gange som overhovedet muligt. Indlæs en større mænge data for hvert kald og gennemsøg den indlæste buffer. F.eks.

for(i=0; i<4; i++){
  indlæs 4096 bytes

  for(j=0; j<4096; j++){
    ...
  }
}

16384 bytes og kun fire kald
Avatar billede mbm2016 Nybegynder
29. april 2010 - 21:05 #5
Jeg kom ikke rigtig videre med dett eprojekt så kan i alle del point ?
Avatar billede arne_v Ekspert
30. april 2010 - 02:38 #6
.
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