Delphi-PRAXiS
Seite 1 von 2  1 2      

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)

SleepyMaster 11. Jan 2005 17:22


ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Hi ihrs

ich suche wirklich alle Möglichkeiten, wie ein Programm ein Programm ein neues Programm starten kann...
  • CreateProcess
  • WinExec
  • Shellexecute

Kennt ihr noch weitere Möglichkeiten?
Oder gibt es vielleicht auch die Möglichkeit CreateProcess oder so "nachzubauen"?

Gruß SleepyMaster

arbu man 11. Jan 2005 17:52

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
In D3 gibt es noch
Delphi-Quellcode:
executefile({Datei},'',inttostr(sw_show),1)

SleepyMaster 11. Jan 2005 17:55

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
welche API-Funktion ruft das denn auf?

toms 11. Jan 2005 21:14

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

Zitat von SleepyMaster
  • CreateProcess
  • WinExec
  • Shellexecute


ShellExecuteEx
ShellExecuteExW
ShellExecuteExA
CreateProcessA
CreateProcessW

Luckie 11. Jan 2005 23:28

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
CreateProcessAsUser (Aber nur Dienste)
CreateProcessWithLogonW (Nur ab 2000)

toms 12. Jan 2005 08:05

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
...und dann noch
CreateProcessAsUserW
CreateProcessAsUserA
SHCreateProcessAsUserW (nicht unter XP)
CreateProcessWithTokenW

dann hätten wir also:
  • WinExec (Diese Funktion gibt's nur noch aus Kompatibilitätsgründen zum 16-bit Windows)
  • CreateProcess
  • CreateProcessA(ANSI)
  • CreateProcessW (Unicode)
  • Shellexecute
  • ShellExecuteExA (ANSI)
  • ShellExecuteExW (Unicode)

  • CreateProcessAsUser
  • CreateProcessAsUserA (ANSI)
  • CreateProcessAsUserW (Unicode)
  • CreateProcessWithLogonW (Benötigt Windows XP or Windows 2000 Professional)
  • CreateProcessWithTokenW (Benötigt Windows Server 2003)

SleepyMaster 12. Jan 2005 19:56

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
ok... immer weiter so... :thumb:
Vielen Dank :love:

am interesanntesten fände ich es noch, ob es irgendwie Funktionen gibt, mit denen es Möglich ist, CreateProcess nachzubauen...

Luckie 13. Jan 2005 15:38

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Was hast du eigentlich vor?

NicoDE 13. Jan 2005 15:49

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
NtCreateProcess
ZwCreateProcess
PsCreateSystemProcess

Zitat:

Zitat von SleepyMaster
am interesanntesten fände ich es noch, ob es irgendwie Funktionen gibt, mit denen es Möglich ist, CreateProcess nachzubauen...

Jein, ein Prozess muss beim Subsystem (CSRSS) angemeldet werden (und das ist a) undokumentiert und b) nicht so einfach :)).

SleepyMaster 13. Jan 2005 21:06

Re: ALLE möglichkeiten über aus Prog. ein Prog. zu starten
 
Hmm... ich werd's trozdem mal versuchen...
(hab im Moment ziemlich Stress in der Schule 6 Arbeiten diese Woche und ein größeres Projekt ist morgen abzugeben)

vielen Dank für die Info...

was ich vorhab?
Soll ein kleines Security-Tool werden... ich brauch jedoch die volle Kontrolle über jedes Programm und will verhindern, dass es das mein Security Programm manipuliert. 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...
Jedoch muss ich verhindern, dass in der Zeit zwischen dem erstellen des Processes und dem ijezieren und dem ausführen des Codes in dem Prozess, der Prozess nicht die Möglichkeit hat dies zu verhindern oder etwas am System zu manipulieren :zwinker: - hab jedoch grade festgestellt, dass dies ganz einfach mit CREATE_SUSPENDED zu erreichen ist.

Falls euch noch weitere "LowLevel" undokomentierte Windows Funktionen einfallen bitte melden :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Seite 1 von 2  1 2      

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