Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ALLE möglichkeiten über aus Prog. ein Prog. zu starten (https://www.delphipraxis.net/37881-alle-moeglichkeiten-ueber-aus-prog-ein-prog-zu-starten.html)

Luckie 13. Jan 2005 21:27

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Zitat:

Zitat von SleepyMaster
Dazu injeciere ich bei dem Start von Windows Code in die Winlogon.exe und Hooke unter anderem alle funktionen die irgendwie einen anderen Process starten können. Sobald also Winlogon.exe ein neuen Prozess starten will, wird mein Programm informiert und sorgt dafür, dass der in die Winlogon.exe injezierte Code auch in den neuen Prozess injeziert wird und falls der wieder einen neuen Prozess erzeugt auch in diesen wieder der Code injeziert wird usw...

Wie willst du das machen? Ein einfacher Shell-Hook auf die genannten API Funktionen sollte eigentlich reichen.

SleepyMaster 13. Jan 2005 21:42

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Shell-Hook? Wie mach ich die denn?

Wie funktionieren die?

Luckie 14. Jan 2005 00:38

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Hier gibt es einen von toms: http://www.luckie-online.de/Delphi/Importe/toms/

SleepyMaster 14. Jan 2005 11:28

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Hmmm... soweit ich sehe nutzt er nur einen Windows-Hook dazu, um Code in jedes Programm das Window-Messages empfangen kann zu bekommen. Dieser Code Hookt dann erst die API-Funktionen.
Das Problem bei dieser Methode ist jedoch, dass in alle Programme die Window-Messages nicht empfangen können auch die API-Hooks nicht reininjeziert werden. :roll:

Aber trozdem ganz netter Code... interessante Idee...

Edit: Die GetMsgProc söllte (glaub ich mal) eigendlich so aussehen:
Delphi-Quellcode:
function GetMsgProc(code: Integer; wparam: WPARAM; lparam: LPARAM): LRESULT stdcall;
begin
  Result := CallNextHookEx(HookHandle, code, wparam, lparam);
end;

SleepyMaster 14. Jan 2005 16:52

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Noch mal eine Frage: Wenn ich PspCreateProcess hooke müsste das doch eigendlich genügen, da doch wirklich ALLE Funktionen die irgendwie einen Prozess erstellen können, auf PspCreateProcess zurückgreifen. Oder seh ich das falsch?
Und wie sieht das aus mit kompatibilität? NicoDE hat in einem anderen Thread gewarnt LowLevel funktionen zu nutzen, wenn man Kompatibilität zu älteren/neueren Betriebssystemen haben will.
Was würdet ihr machen?
Wenn ich jetzt nämlich CreateProcessAsUserA/W + CreateProcessA/W + CreateProcessWithLogonA/W + CreateProcessWithTokenA/W + WinExec hooke und es dann noch eine andere Funktion gibt, die nicht indirekt auf eine dieser Funktionen zugreift, dann hat mein Programm seinen Sinn verfehlt :cry: ...
Außerdem noch die Frage: Wie sieht das mit Diensten aus? Mit welcher Funktion werden die gestartet? Und greift diese Funktion auf eine der oben genannten zurück?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz