Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Cudno iscitavanje stacka tudjeg procesa?

[es] :: Pascal / Delphi / Kylix :: Cudno iscitavanje stacka tudjeg procesa?

[ Pregleda: 1916 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Cudno iscitavanje stacka tudjeg procesa?13.01.2007. u 16:05 - pre 210 meseci
Trebam iscitat cijeli stack jednog programa ciji stack se krece od $0022E000 do $0022FFFC i prvo program zapne na $0022E000 (sa GetLastError dobijem da je error 5 iliti ACCESS DENIED) i nigdje vise ne zapne, sve ostalo u redu prodje.. sve to spremim u jedan .txt fajl i podaci se totalno razlikuju nego kad gledam taj stack sa debuggerom, ne kontam.. izgleda mi da je kod sasvim u redu:

Code:

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Menus, StdCtrls;

type
  TForm2 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Open1: TMenuItem;
    Exit1: TMenuItem;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    Help1: TMenuItem;
    About1: TMenuItem;
    procedure About1Click(Sender: TObject);
    procedure Open1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}



procedure SkenirajMemoriju(Path:string);
var ProcessInformation:TProcessInformation;
    StartupInfo:TStartupInfo;
    buff:byte;
    x:Integer;
    Readed:cardinal;
    f:TextFile;

begin


AssignFile(f,'c:\MemoryDump.txt');
Rewrite(f);
FillMemory(@ProcessInformation, Sizeof(ProcessInformation), 0);
FillMemory(@StartupInfo, Sizeof(StartupInfo),0);

CreateProcess(PChar(Path), 0, 0, 0, false, 0,
              0, 0,
              StartupInfo, ProcessInformation);

 for x:=$0022E000 to $0022FFFC do
  begin
   if ReadProcessMemory(ProcessInformation.hProcess, Ptr(x), @buff, 1, Readed)=true
      then WriteLn(f,IntToHex(x,0)+':'+IntToHex(buff,0)) else
        MessageBox(0,PChar('Zapelo na adresi:'+IntToHex(x,0)),PChar('Problem:'+IntToStr(GetLastError)),0);

  end;
MessageBox(0,'Gotovo!!! :)','Informacija',0);
CloseFile(f);
end;

procedure TForm2.Exit1Click(Sender: TObject);
begin
Exit;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
Memo1.Text:='';
end;

procedure TForm2.Open1Click(Sender: TObject);
begin
 if OpenDialog1.Execute then
  begin
   SkenirajMemoriju(OpenDialog1.FileName);
  end;
end;

procedure TForm2.About1Click(Sender: TObject);
begin
 MessageBox(0,'Memory Scaner','About..',0);
end;

end.
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Cudno iscitavanje stacka tudjeg procesa?15.01.2007. u 19:56 - pre 210 meseci
Bla, ajde bilo bi lijepo da netko odgovori
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Cudno iscitavanje stacka tudjeg procesa?15.01.2007. u 20:02 - pre 210 meseci
Koji proces ? Probaj da dodelis SeDebugPrivilege tvome procesu pa onda citaj.
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Cudno iscitavanje stacka tudjeg procesa?17.01.2007. u 08:39 - pre 210 meseci
Jesam, to sam i napravio prvo mada nije pokazalo neku korist..
Nije mi toliki problem u onom prvom bajtu sto ga ne ocita vec u svim ostalima jer su totalno razliciti.. probaj kad nadjes vremena napravit tako sta pa javi dal je u redu!!

edit:
ma to je jedan bezvezan program kojeg sam prije pisao i koji nista pametno ne radi...
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Cudno iscitavanje stacka tudjeg procesa?

[ Pregleda: 1916 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.