Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Minnes problem

Postades av 2002-05-23 17:56:29 - Anton Samuelsson, i forum api-windows, Tråden har 4 Kommentarer och lästs av 1006 personer

Jag håller på med ett program för att söka igenom och ändra andra programs minne, typ GameHack, men att söka igenom 4GB minne kan ju ta ett tag, så jag undrar om det finns några skyddade områden i minnet som man kan hoppa över. (Jag har hört att bara 2GB kan användas) Om det finns sådana områden, vilka adresser kan man då hoppa över?


Svara

Sv: Minnes problem

Postades av 2002-05-24 10:34:14 - Tommy Winberg

Jag är inte någon hejare på api. Jag tror dock inte att du kan gå in och läsa en annan process minnesarea, har för mig att det är ett av de grundläggande skydd som lades in när NT kom.

Varje process tilldelas en virtuell minnesarea på 4 GB (har för mig att det inte går att adressera mer än 2 GB för programmets egna behov, övrigt reserverat för os:et). Minnesarean är privat för processen.

/Tommy


Svara

Sv: Minnes problem

Postades av 2002-05-24 14:08:50 - Anton Samuelsson

Jag hittade lösningen själv, man kan läsa/skriva andra processers minne med ReadProcessMemory och WriteProcessMemory, och minnet som användaren kan komma åt är 0x00400000-0x80000000 (inte säker på 0x800000000, kan vara 0x80400000, säg till om jag har fel).

Nu har jag ett nytt problem:
När jag kör min minnesgenomsökarloop som ser ut så här:

for(i=SEARCH_MEMORY_START;i<SEARCH_MEMORY_END;i+=type)
{
ReadProcessMemory(hProcess, (LPVOID)i, tmp, type, &br);
if(tmp == dwSearchValue)
data1[dwResultIndex++] = i;
}

Där type kan vara 1, 2 eller 4, för BYTE, WORD eller DWORD, data1 är en array med DWORD, br är en DWORD, i är en DWORD och tmp är en pekare till BYTE, WORD eller DWORD, beroende på vad type är, så hänger sig loopen, eller tar en oerhörd tid på sig (vet inte vilket, har suttit i 15 minuter och väntat på att den ska köras färdigt).

Om det inte framgår så ska loopen hitta alla minnesadresser som innehåller ett värde, och sedan spara alla dessa värden i en array.

När jag körde loopen från 0x0000 till 0xFFFF gick det utmärkt.
Vad är det för fel?


Svara

Sv: Minnes problem

Postades av 2002-05-24 15:40:21 - Mattias Sjögren

>Där type kan vara 1, 2 eller 4, för BYTE, WORD eller DWORD, data1 är en array med DWORD, br är en DWORD, i är en DWORD och tmp är en pekare till BYTE, WORD eller DWORD, beroende på vad type är, så hänger sig loopen, eller tar en oerhörd tid på sig (vet inte vilket, har suttit i 15 minuter och väntat på att den ska köras färdigt).


Ja du ska ju arbeta dig igenom upp mot två miljarder anrop, sånt tar tid. Du kan ju lägga till någon slags förloppsindikator så du ser att det händer något.

Det skulle antagligen gå betydligt snabbare att hämta en större mängd data per gång och mellanlagra i en lokal buffert.


MS


Svara

Sv: Minnes problem

Postades av 2002-05-26 11:28:46 - Anton Samuelsson

OK, ska pröva det. Tack.


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 574
27 958
271 741
5 827
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies