Autor Beitrag
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: 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 :lol:):
ausblenden volle Höhe Delphi-Quelltext
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 <> 0and (e <> 0then
            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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 12.06.05 13:06 
dank den units von uall ist das programm ja sehr schnell fertig geworden (paar minuten :lol:)
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 12.06.05 13:16 
und weils so schön ist, pack ich mein programm jetzt in die opensource sparte :wink:
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: 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 :roll:

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 12.06.05 13:25 
nee ja net nur 8)