AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm vor Taskmanager verstecken
Thema durchsuchen
Ansicht
Themen-Optionen

Programm vor Taskmanager verstecken

Ein Thema von DevilsCamp · begonnen am 18. Jul 2005 · letzter Beitrag vom 18. Sep 2005
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
DevilsCamp
(Gast)

n/a Beiträge
 
#1

Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 09:07
ich habe folgenden Code im INet auf diversen Seiten gefunden:

Delphi-Quellcode:
function RegisterServiceProcess(dwProcessID, dwType: dword): integer; stdcall;
external 'Kernel32.dll';

procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterServiceProcess(0, 1);
end;
angeblich soll dieser Code das Programm vor dem Taskmanager verstecken.
Doch bei mir macht er nur folgendes:
- Das Programm startet im Einzelschritt
- Es stürzt ab, bevor die OnCreate-Methode des MainForms aufgerufen werden kann.
- Ich bekomme die Fehlermeldung, die im Anhang zu sehen ist


Wenn ich nun die Zeile mit "RegisterServiceProcess" auskommentiere, dann läuft das Programm wieder normal.

Hat einer von euch 'ne Ahnung, was falsch sein könnte?

(Quell-Code im Anhang)
Miniaturansicht angehängter Grafiken
registerprocess_156.jpg  
Angehängte Dateien
Dateityp: zip newuhr_180.zip (7,0 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 10:58
Hallo Marc,

üblicherweise übergibst du GetCurrentProcessID() als ersten Parameter.

Grüße vom marabu
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#3

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 11:01


Hat leider auch nicht den gewünschten Effekt.
Ich habe immer noch den selben Fehler...
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 11:02
a.) Man versteckt keine Prozesse vor dem TaskManager, sondern entzieht dem Benutzer den Zugriff
b.) Funktioniert deine C&P-Frickellösung nur auf Windows 9x/Me

Um es vorneweg klarzustellen. Ja, RegisterServiceProcess() ist eine Frickellösung. Da hilft auch kein rumdiskutieren. Während ich bei Win9x/Me ohne Rechteverwaltung durchaus noch eine Daseinsberechtigung sehen könnte (mit viel gutem Willen), ist sie ab NT4 (eigentlich NT allgemein) nicht mehr gegeben. Daher existiert diese Funktion dort nicht. Und das ist auch gut so. Willst du verhindern, daß dein Prozess beendet wird, so tu dies über ACLs usw.!

Sagst du uns noch welches OS du hast, Marc?!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 11:11
Gerade wollte ich Marc bitten vor dem Aufruf der Funktion WIN95 zu starten. Ich hatt in meiner code library geschaut und die Abhängigkiet erst soeben in der online hilfe entdeckt. Peinlich...

marabu
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#6

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 11:16
Zitat von marabu:
Gerade wollte ich Marc bitten vor dem Aufruf der Funktion WIN95 zu starten. Ich hatt in meiner code library geschaut und die Abhängigkiet erst soeben in der online hilfe entdeckt.
Teamwork geht doch auch

Mich wundert eigentlich nur, daß die o.g. Fehlermeldung kommt, weil dies für mich bedeutet, daß es kein fehlender Import sein kann. Da würde der PE-Loader vorher aufmucken. Also entweder gibt es einen schlechten Stub in dem OS, welches er benutzt, oder er benutzt Win9x/Me. Wobei dann der Fehler (lt. Adresse) gefühlsmäßig in einer DLL liegen dürfte.

Hatte schon viele Probleme mit dieser Mist-Funktion. Die sollte man nur dynamisch importieren ... alle Programmierer, die das mißachten, gehören in die VisualBasic-Hölle ... wurde uns diese Funktion vielleicht sogar vom Teufel der VB-Hölle persönlich gesandt?

Das ist übrigens der Grund, warum diese Funktion noch immer nicht offiziell dokumentiert ist.
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#7

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 11:27
1. Ich nutze Win2000 Pro, das Programm soll aber auch unter WinXP laufen (Home und Pro)
2. Delphi 7 Pro.

3.
Das Programm soll eine Uhr sein, die ständig im Vordergrund liegt, damit man nicht immer die Taskleiste öffnen muss.
Sie kann jederzeit per PopUp Menü beendet werden.
Ich möchte sie nur verstecken, damit sie nicht per ALT-TAB auswählbar ist und so Platz spart...
Rechtevergabe wäre hier also wie mit Kanonen auf Spatzen schießen.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 11:57
Delphi-Quellcode:
type
  TFNRegisterServiceProcess = function(dwProcessID, dwType: dword): Integer; stdcall;

function RegisterServiceProcess(dwProcessID, dwType: DWORD): Integer;
var
  hLib:THandle;
  _RegisterServiceProcess: TFNRegisterServiceProcess;
begin
  // Ist sowieso immer geladen
  _RegisterServiceProcess := nil;
  hLib := GetModuleHandle('Kernel32.dll');
  if(hLib <> 0)then
    @_RegisterServiceProcess := GetProcAddress(hLib, 'RegisterServiceProcess');

  if(Assigned(@_RegisterServiceProcess))then
    result := _RegisterServiceProcess(dwProcessID, dwType)
  else
  begin
    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    result := 0; // Fehler signalisieren
  end;
end;
Mit W2K verwendet man diese Funktion einfach nicht. Einen Prozess unter NT verstecken zu wollen ist
a.) entweder dumm, oder
b.) mit einer bösen Absicht (Rootkit, Virus) verbunden.

Such's dir aus ... das Thema RSP ist so alt wie sonst nix. Mußt du diese Funktion dennoch verwenden, so wrappe sie wie ich es dir oben schnell hingetippt habe.
Beispiele mit LoadLibrary() kannste hier komplett vergessen, weil manche Menschen denken sie könnten einen Win32-Prozess ohne kernel32.dll starten

Siehe auch: http://support.microsoft.com/default...b;en-us;125714

... für dein Ziel brauchst du eine ganz andere Lösung. Poste ich nach dem Mittagessen wenn keiner schneller war. Den Code zum Verstecken haste ja nun.
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#9

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 12:09
Hallo Olli,
klingt ganz schön überheblich, was du da von dir gibst.

Zitat:
Einen Prozess unter NT verstecken zu wollen ist
a.) entweder dumm, oder
b.) mit einer bösen Absicht (Rootkit, Virus) verbunden.
Zitat:
... für dein Ziel brauchst du eine ganz andere Lösung. Poste ich nach dem Mittagessen wenn keiner schneller war. Den Code zum Verstecken haste ja nun.
Warum, wenn du Jemanden für a.) dumm oder b.) böswillig hälst, willst du dann selbst eine Lösung präsentieren?
Zu welcher Kategorie gehörst du denn zu a.) oder b.)?

Rainer ( dieser Beitrag ist nicht ganz ernst gemeint )
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Programm vor Taskmanager verstecken

  Alt 18. Jul 2005, 12:41
Hi Rainer,

locker bleiben.
Zitat von runger:
klingt ganz schön überheblich, was du da von dir gibst.
Kann sein. Wahrheit tut manchmal weh. Da ich aus Wissen heraus und nicht aus übersteigertem Selbstbewußtsein heraus schreibe, leiste ich mir sowas. Wenn ich nicht wüßte wovon ich rede, würde ich nicht so klare Worte wählen.
Nur weil es dumm ist etwas zu tun, ist derjenige der es tut nicht gleich dumm. Oder?

Zitat von runger:
Zitat:
... für dein Ziel brauchst du eine ganz andere Lösung. Poste ich nach dem Mittagessen wenn keiner schneller war. Den Code zum Verstecken haste ja nun.
Warum, wenn du Jemanden für a.) dumm oder b.) böswillig hälst, willst du dann selbst eine Lösung präsentieren?
Ich habe dir mal die wichtigste Stelle meines Satzes markiert. Er will nämlich offenbar nicht den Prozess, sondern vielmehr das Anwendungsfenster verstecken. Das gehört eigentlich zu einer guten Fragestellung - Ziel angeben, statt aktuellen Schritt erfragen, aber kann ja jedem mal passieren

Zitat von runger:
Zu welcher Kategorie gehörst du denn zu a.) oder b.)?
Das obliegt dem jeweiligen Betrachter
Übrigens: siehe deine Signatur -> Ja.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.
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