Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#16

AW: 32bit Service auf 64bit Platform

  Alt 24. Dez 2010, 10:53
Der ProcessExplorer kommt als 32bit EXE auf die Platte, besitzt aber in der Ressource weitere Dateien, wie einen Treiber und eine 64bit Version, die dann mehr oder weniger transparent gestartet wird. Im ProcExp sieht man selbst, dass da zwei Prozesse gestartet werden und der letzte procexp64.exe heißt.
Hallo Dezipaitor, leider sehe ich in keinem Prozeßanzeiger (Taskmanager, Prozeßexplorer, mein Programm „Prozesse“) einen 64-Bit-Ableger des Prozeßexplorers (unter Windows 7 64 Bit).


Hallo Assarbad, auch Dir vielen Dank!

Mit vollen Rechten solltest du auch in der Lage sein 64bittige Prozesse abzuschießen.
Volle Rechte verpasse ich dafür unter Windows 7 auch meinem Programm „Prozesse“ (32 Bit), so einfach ist es also nicht. Dennoch benötige ich eine 64-Bit-Version, um auch an die „Systemprozesse“ (wurde von Dir weiter oben korrekter spezifiziert) heranzukommen, deshalb meine Portierung zu Lazarus.

Allerdings wenn deine Methode des Abschusses ist, Code zu injizieren wird es nix, solange du eine DLL benutzt. Dann brauchst du mindestens eine 64bittige DLL.
Nein, das ist mir viel zu kompliziert (bin froh, daß ich die DLL-Injektion per Hook in einem anderen Programm hinbekam). Es sind einfache TerminateProcess, TerminateThread, SetPriorityClass und SetThreadPriority.

Der ProcExp benutzt mehrere EXE-Dateien (und SYS-Dateien) welche extrahiert werden. BinResTo, meine Funktion von vor ein paar Jahren bildet das nach, aber es gibt auch andere Varianten welche VCL-Klassen benutzen.
Dann kann er diese aber geschickt verstecken, denn, wie schon gesagt, es taucht nur eine Exe-Datei in den Prozeßlisten auf.

Schöne Weihnachten!

Edit: Kommando zurück. Nach dem Start des Prozeßexplorers (32 Bit) unter 64 Bit gebiert dieser anscheinend ein 64-Bit-Pendant, legt es auf der Platte ab und startet dieses.

Geändert von Delphi-Laie (24. Dez 2010 um 11:14 Uhr)
  Mit Zitat antworten Zitat