Autor |
Beitrag |
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 12.06.05 12:33
Hallo zusammen, ich bin momentan gerade dabei ein paar hooks zu schreiben und bin es eigentlich leid, immer wieder ne neue anwendung zu schreiben um ne neue dll in irgendeinen neuen prozess zu laden, also wollte ich mir ein tool basteln, um dlls in prozesse zu injizieren, natürlich mit den wunderschönen units von uall (respekt).
jetzt bin ich an das problem gestoßen eine Prozessliste zu erstellen, mit den units von uall scheint das eigentlich nicht schwierig zu sein, jedoch bekomme ich nur ein paar prozesse, und ich würde auch gerne stehen haben, um was für einen Prozess es sich handelt (System, Besitzer, Lokaler Dienst, etc);
hier mal meine Procedure (vielleicht etwas zu kompliziert  ):
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| procedure ListProcesses(Listbox: TListBox); const sep = #13#10; var str, buf: string; i, s, e: integer; first: boolean; begin first := true; e := 0; s := 0; str := UallProcess.FindallProcesses; for i := 1 to length(str) do begin buf := Copy(str, i, 2); if buf = sep then begin if first = true then begin s := i + 2; first := false; end; if s <> 0 then e := i + 2; if e = 0 then s := i + 2; if (s <> 0) and (e <> 0) then begin listbox.items.add(copy(str, s, e - s - 2)); e := 0; s := 0; end; end; end; listbox.Items.delete(0); end; |
eigentlich könnte ich das auch so machen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure GetProcessList(const aProcessList: TStrings); var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE) then Repeat aProcessList.Add(ProcessE.szExeFile); until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end; |
was ist eigentlich dieser [systemprocess] ???
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: So 12.06.05 12:52
der systemprozess ist der idle prozess, den du im taskmanager siehst.
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
F34r0fTh3D4rk 
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 12.06.05 13:06
dank den units von uall ist das programm ja sehr schnell fertig geworden (paar minuten  )
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: So 12.06.05 13:11
jo, die uallcollection is ne unit ganz nach meinem geschmack - systemnah, schnörkellos, schnell und ohne komponenten-registrierung zu verwenden...
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
F34r0fTh3D4rk 
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 12.06.05 13:16
und weils so schön ist, pack ich mein programm jetzt in die opensource sparte 
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: So 12.06.05 13:21
mach dich bitte nicht lächerlich ^^
wenn dein programm nur die prozesse auflistet mit einem aufruf einer fremden routine, wird dir das keine lorbeeren einbringen 
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
F34r0fTh3D4rk 
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 12.06.05 13:25
nee ja net nur 
|
|
|