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 PID eines 64Bit-Services unter 32Bit-Programm? (https://www.delphipraxis.net/190928-pid-eines-64bit-services-unter-32bit-programm.html)

Luckie 22. Nov 2016 00:27

AW: PID eines 64Bit-Services unter 32Bit-Programm?
 
Ach als Administrator ist man nicht all mächtig. Der Benutzer System hat noch höhere Rechte.

Aber wo für brauchst du die PIDs von den ganzen Diensten? Schreibst du ein System-Tool?

Mattze 22. Nov 2016 07:42

AW: PID eines 64Bit-Services unter 32Bit-Programm?
 
Hallo Luckie,

"Systemtool" ist vielleicht etwas hoch gegriffen.
Ich schreibe ein "SysInfo" und das aus reinem Interesse.
Ich will einfach mal gucken, wie weit ich komme.
(Mit Eurer und Netzhilfe usw.
Macht schon verdammt viel...)

Und da gehören eben auch die PIDs dazu.

Gruß
Mattze

Zacherl 22. Nov 2016 09:11

AW: PID eines 64Bit-Services unter 32Bit-Programm?
 
Schau dir mal himitsus Edit an:
Zitat:

Zitat von himitsu (Beitrag 1354337)
UserMode-Treiber und KernelMode-Treiber?
Werden die im KernelMode da auch aufgelistet? [edit2] SERVICE_KERNEL_DRIVER sagt ja.
Die werden ja außerhalb des UserMode-Systems ausgeführt und dort gibt es "diese" PID eventuell nicht.


Assarbad 27. Nov 2016 22:30

AW: PID eines 64Bit-Services unter 32Bit-Programm?
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1354333)
Die PID ist eine Prozeß -ID. Dienste sind jedoch m.E. nicht mit dieser gleichzusetzen. Auf meinem Windows XP z.B. ist fünfmal die svchost.exe gestartet worden, also gibt es sie unter fünf verschiedenen IDs. Es sind jedoch wesentlich mehr Dienste, die auf diese Datei zurückgehen, gestartet worden.

Dienste können seit Windows 2000 als DLLs implementiert werden und werden dann in der Tat "gehostet". Denn bekanntlich wird eine DLL normalerweise in einen existierenden Prozeß geladen.

Zitat:

Zitat von Zacherl (Beitrag 1354338)
MSDN-Library durchsuchenEnumServicesStatusEx enumeriert ja alle Dienste. Darunter sind aber auch welche, die zur Zeit nicht gestartet sind und somit keine PID haben.

Bingo!

Zitat:

Zitat von himitsu (Beitrag 1354337)
UserMode-Treiber und KernelMode-Treiber?
Werden die im KernelMode da auch aufgelistet? [edit2] SERVICE_KERNEL_DRIVER sagt ja.
Die werden ja außerhalb des UserMode-Systems ausgeführt und dort gibt es "diese" PID eventuell nicht.

Treiber werden über die gleichen APIs wie Dienste installiert und gewartet. Das ist also theoretisch eine sehr sinnvolle Annahme.

Es gibt zwar PIDs auch kernelseitig, aber die sind von der Sache her irrelevant. Außerdem ist der Windows-(NT-)Kernel monolithisch und (Kernel-)Treiber werden ähnlich wie DLLs in den gleichen Adreßraum geladen. Daher könnten Treiber maximal mit der PID vom Pseudoprozeß "System" gezeigt werden.

Und ja, es gibt da noch ein relevantes Privileg: TCB.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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