Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: MemAlloc einer Appl untersuchen. Mit API Hook?

  Alt 15. Mär 2007, 09:25
Ich hatte auch mal zum testen einfach alle Speicherseiten ermittelt, die das Programm benutzt und zusammenaddiert. Ob das so funktioniert und sinnvoll ist, weis ich nicht. (Ich meine funktionieren tut es, aber ob das Ergebnis sinnvoll ist?)
Mit virtualquery kann man sich ja so durchhangeln.
Für eine fremde Anwendung könnte evtl virtualqueryEx reichen oder du injizierst den Code gleich in den Prozess, dann kannst du auch gleich localAlloc oder was auch immer hooken.

Beispiel (nur) in Pascal:
Delphi-Quellcode:
function MemoryUse:integer;
var mbi:memory_basic_information;
    si:system_info;
    pos:cardinal;
begin
  getsysteminfo(si);
  pos:=cardinal(si.lpMinimumApplicationAddress);
  result:=0;
  while pos<cardinal(si.lpMaximumApplicationAddress) do begin
    virtualquery(pointer(pos),mbi,sizeof(mbi));
    if (mbi.State and mem_commit)>0 then inc(result,mbi.RegionSize);
    inc(pos,mbi.regionsize);
  end;
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat