Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Prozess verstecken (https://www.delphipraxis.net/8303-prozess-verstecken.html)

Dax 2. Sep 2003 06:21


Prozess verstecken
 
Wie kann ich ein Programm vor dem Win9x-Taskmanager verstecken?

Luckie 2. Sep 2003 06:22

Re: Prozess verstecken
 
Nenn mir erst einen trifftigen Grund, dann sage ich dir wie. :roll:.

Dax 2. Sep 2003 06:25

Re: Prozess verstecken
 
Ich wollte ein Programm schreiben, mit dem man Screenshots von anderen rechnern machen kann. :lol:
Aber es soll VOLLSTÄNDIG im Hintergrund laufen und nicht bemerkbar sein.

Luckie 2. Sep 2003 06:28

Re: Prozess verstecken
 
Und warum soll man es nicht bemerken?

Matze 2. Sep 2003 09:19

Re: Prozess verstecken
 
@Luckie: Ich kenne den Code auch.
Doch woher ich den hab, hab ich ganz vergessen. ;)

Sharky 2. Sep 2003 09:28

Re: Prozess verstecken
 
Zitat:

Zitat von gecko2000
Ich wollte ein Programm schreiben, mit dem man Screenshots von anderen rechnern machen kann. :lol:
Aber es soll VOLLSTÄNDIG im Hintergrund laufen und nicht bemerkbar sein.

Wenn ich so ein Programm auf einem meiner Rechner finden würde, käme der Programmierer schneller vor den Richter als er Ups sagen kann.

:!: :!:

Luckie 2. Sep 2003 09:33

Re: Prozess verstecken
 
das ist ja das Problem. Unter Win9x findest du es nicht, wenn du es im Taskmanager versteckst. Der hat nämlich keine Prozessliste.

Matze 2. Sep 2003 09:36

Re: Prozess verstecken
 
Gibt's da überhaupt keine Möglichkeit, so ein Programm zu sehen??
Gut, dass ich XP hab. Somit habe ich solche Progs unter Kontrolle. http://litanies.dyndns.org/web/style...so-bouffon.gif

negaH 2. Sep 2003 10:24

Re: Prozess verstecken
 
Natürlich gibt es Wege es trotzdem sichtbar zu machen. Damit unter Win9x bzw. Win2x ein Prozess auch ein Prozess IST muß das OS über ihn bescheid wissen. Dazu werden interne Datenstrukturen benutzt die jedes Handle, jeden Prozess und jeden Thread usw. verwalten. Unter Win9x kann man auf alle diese Strukturen aus Rin3 Anwendungen heraus zugreifen. Somit gibt es tatsächlich KEINEN Weg einen Prozess unter Win9x 100%tig zu verstecken. Meistens wird einfach ein Prozess als Serviceprocess registriert. Da kann man aber mit dem ToolHlp API diesen Prozess trotzdem noch finden. Oder es wird das ToolHlp API gepatcht damit der Prozess "unsichtbar" wird. Wird aber unter Win9x direkt auf die PDB = Process Database zugegriffen gibt es keine Möglichkeit den Prozess zu verstecken. D.h. man müsste schon diese PDB modifizieren was aber zwangsläufig dazu führt das das OS den Prozess selber nicht mehr finden kann, und somit der Prozess inaktiv wird.

Besser ist es seinen Code innrhalb anderer Prozesse zu "verstecken". Z.b. eine einfache ShellExtension als COM Object in einer DLL, wird durch den Explorer geladen.

Gruß Hagen

PS: liebe Moderatoren, dies hier ist kein Aufruf Trojaner o.ä. zu basteln. Es ist klar das diese Tricks dazu mißbraucht werden können, aber das Verschweigen solcher Tricks hilft nur den Programmierern die tatsächlich auch Trojaner basteln werden !, bzw. den Firmen die durch solches Wissen massenhaft Kohle scheffeln können. Also, bitte cancelt nicht schon wieder solche angeblich "heisen" Diskussionen.

Luckie 2. Sep 2003 10:32

Re: Prozess verstecken
 
Zitat:

Zitat von negaH
Natürlich gibt es Wege es trotzdem sichtbar zu machen. Damit unter Win9x bzw. Win2x ein Prozess auch ein Prozess IST muß das OS über ihn bescheid wissen. Dazu werden interne Datenstrukturen benutzt die jedes Handle, jeden Prozess und jeden Thread usw. verwalten.

Das ist klar. damit beschäftige ich mcih übrigens gerade ausgiebig mit Hilfe des Richters. :? Nur dachte ich zum Beispiel an nicht Programmierer, die davon keine Ahnung haben, die werden den Prozess nie und nimmer finden.

Zitat:

Unter Win9x kann man auf alle diese Strukturen aus Rin3 Anwendungen heraus zugreifen. Somit gibt es tatsächlich KEINEN Weg einen Prozess unter Win9x 100%tig zu verstecken.
Und unter NT ff. auch nicht.
Zitat:

Meistens wird einfach ein Prozess als Serviceprocess registriert.
Daran dachte ich.
Zitat:

Da kann man aber mit dem ToolHlp API diesen Prozess trotzdem noch finden.
Nun mein Vater kennt nur den Taskmanager von ME. Ich glaube kaum, dass er ihn finden wird. Bzw. auf die Idee käme, dass da noch was anderes laufen könnte.
Zitat:

Oder es wird das ToolHlp API gepatcht damit der Prozess "unsichtbar" wird. Wird aber unter Win9x direkt auf die PDB = Process Database zugegriffen gibt es keine Möglichkeit den Prozess zu verstecken. D.h. man müsste schon diese PDB modifizieren was aber zwangsläufig dazu führt das das OS den Prozess selber nicht mehr finden kann, und somit der Prozess inaktiv wird.

Besser ist es seinen Code innrhalb anderer Prozesse zu "verstecken". Z.b. eine einfache ShellExtension als COM Object in einer DLL, wird durch den Explorer geladen.
Bevor ich das mache, würde ich mir aber zweimal überlegen, ob der Aufwand gerechtfertigt ist.

Zitat:

PS: liebe Moderatoren,
Er liebt mich. :bounce1: :shock:
Zitat:

dies hier ist kein Aufruf Trojaner o.ä. zu basteln. Es ist klar das diese Tricks dazu mißbraucht werden können, aber das Verschweigen solcher Tricks hilft nur den Programmierern die tatsächlich auch Trojaner basteln werden !, bzw. den Firmen die durch solches Wissen massenhaft Kohle scheffeln können. Also, bitte cancelt nicht schon wieder solche angeblich "heisen" Diskussionen.
Keine Sorge. Mittlerweile hat er wohl RegisterSeviceProcess wohl schon selber gefunden.

Ach, kann man noch "gute Besserung" wünschen oder schon wieder gesund?

Dannyboy 2. Sep 2003 11:02

Re: Prozess verstecken
 
Zitat:

Keine Sorge. Mittlerweile hat er wohl RegisterSeviceProcess wohl schon selber gefunden.
Und wie funktioniert das ganze bei Exe-Dateien ? Kann man dort auch
noch einen weiteren Prozess (z.B. ein Fenster mit "Ich habe fertig")
anhängen und anschließend auch wieder entfernen?

negaH 2. Sep 2003 11:42

Re: Prozess verstecken
 
Zitat:

Ach, kann man noch "gute Besserung" wünschen oder schon wieder gesund?
Nee, die Sache zerrt sich so hin :( Arbeiten macht dann auch keinen Spaß mehr. Mein Weib :) hat's nun schon 2 Wochen.

Gruß Hagen

Luckie 2. Sep 2003 15:56

Re: Prozess verstecken
 
Zitat:

Zitat von negaH
Nee, die Sache zerrt sich so hin :( Arbeiten macht dann auch keinen Spaß mehr. Mein Weib :) hat's nun schon 2 Wochen.

Frag mal beim Hersteller, ob es da nicht ein ServicePack, Hotfix oder Patch gibt. Von einem Update, Upgrade würde ich allerdings absehen. Geht meist schief und dann funktioniert auch die original Version nicht mehr richtig bis gar nicht mehr. Ein Downgrade ist dann meist mit seeeehr hohen Kosten verbunden. :roll:

negaH 2. Sep 2003 17:23

Re: Prozess verstecken
 
:) kenn ich schon, habe mir jetzt ne komplette Zweitinstallation gegönnt :mrgreen: :chat: :spin:

Alexander 2. Sep 2003 18:13

Re: Prozess verstecken
 
DA das nun wikrlich kein GEheimnis ist, ich glaube es steht sogar in der Code-Library, hier nun ein Beispiel :
Delphi-Quellcode:
implementation

function RegisterServiceProcess(dwProcessID, dwType: DWORD): DWORD;
  stdcall; external 'KERNEL32.DLL';

// verstecken
procedure TForm1.Button1Click(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 1);
end;

// anzeigen
procedure TForm1.Button2Click(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 0);
end;
Ich gebe Hagen vollkommen recht...Vorallem steht dieser Source eh überall ;-)
Zitat:

Zitat von Hagen
PS: liebe Moderatoren,
dies hier ist kein Aufruf Trojaner o.ä. zu basteln. Es ist klar das diese Tricks dazu mißbraucht werden können, aber das Verschweigen solcher Tricks hilft nur den Programmierern die tatsächlich auch Trojaner basteln werden !, bzw. den Firmen die durch solches Wissen massenhaft Kohle scheffeln können. Also, bitte cancelt nicht schon wieder solche angeblich "heisen" Diskussionen.



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.

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