taskmanager aushebeln

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
The Gimp
Beiträge: 15
Registriert: 16.03.2005 22:13

Beitrag von The Gimp »

Thx @ all
Ja, wirklich Klasse, dieses "Tool".

Beendet explorer.exe, lässt Task-Manager nicht mehr starten.
Schließt Taskleiste.
Lässt sich nicht beenden, indem man auf das Kreuz klickt.
Lässt sich durch DestroyWindow nicht schließen.
Explorer.exe kann nicht neugestartet werden. Echt super!
Fehlt nur noch, dass sich das fuck Teil in Autostart eingetragen hat.

EDIT: Ach ja ganz vergessen: Die Desktop Icons werden zerstört.
Naja, nach einem Reboot geht aber wieder alles. Will nur hoffen,
dass der jetzt keine Dateien gelöscht hat.
Das "Tool" ist nicht wirklich nett :( aber bei mir lässt sich der taskmanager öffnen explorer wird nicht beendet Desktop icons bleiben heil, Man kann es nur nicht schliessen! Und das progg interessiert mich eigentlich auch nicht, eher die .dll

Code: Alles auswählen

OpenWindow(0,200,200,220,30,#PB_Window_SystemMenu ,"Taskmanager unable to open")
  CreateGadgetList(WindowID()) 
  TextGadget(1,0,0,220,30,"Taskmanager kann nicht geöffnet werden! Und die Konsole ebenfalls nicht!",#PB_Text_Center)

Null.l=0
  path$=Space(1000)
  SHGetSpecialFolderLocation_(WindowID(),37,@Null)
  SHGetPathFromIDList_(Null,@path$)

Repeat

    EventID.l = WindowEvent()             
    If EventID = #PB_EventCloseWindow           
      Quit = 1                                 
    Else                                     
                         
   
    taskmanager.l = FindWindow_(0,"Windows Task-Manager")
    cmd.l = FindWindow_(0,path$+"\cmd.exe")
    command.l = FindWindow_(0,path$+"\command.com")
   
    If taskmanager.l<>0
      PostMessage_(taskmanager,#WM_CLOSE,0,TRUE)
    EndIf
    
    If cmd.l<>0
      PostMessage_(cmd,#WM_CLOSE,0,TRUE)
    EndIf

    ;If command.l<>0   ---- kann probz verursachen!!!! command reagiert nicht mehr....
    ;  PostMessage_(command,#WM_CLOSE,0,TRUE)
    ;EndIf
 

 EndIf                                       
Until Quit=1 
Zuletzt geändert von The Gimp am 05.07.2005 14:52, insgesamt 3-mal geändert.
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

naja, dein code funzt.

aber wofür braucht man sowas

alle programme die man nicht beenden kann, ausser durch abstellen der kiste, sind in meinen auen viren
-.-"
Benutzeravatar
mueckerich
Beiträge: 220
Registriert: 13.09.2004 11:33
Wohnort: Am schönsten Flecken der Erde, zwischen PC und Motorrad

Beitrag von mueckerich »

:shock: Für was man das braucht?
Klarer Fall, zum Beispiel für Schulungsrechner an denen nur ein Prog laufen soll, ohne das jeder der ein bisschen Ahnung hat sofort den Explorer oder was auch immer starten oder einen Prozess abschießen kann. :allright: Ein Tool zum sperren des Systems muss also nicht immer ein bösartiger Virus sein.
"Wenn Sie glauben, mich verstanden zu haben, dann habe ich mich falsch ausgedrückt" ( Alan Greenspan)
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

mueckerich hat geschrieben::shock: Für was man das braucht?
Klarer Fall, zum Beispiel für Schulungsrechner an denen nur ein Prog laufen soll, ohne das jeder der ein bisschen Ahnung hat sofort den Explorer oder was auch immer starten oder einen Prozess abschießen kann.
Dafür gibts die Rechtevergabe an verschiedene Benutzer. :wink:

Den Taskmanager am startet zu hindern ist aber ziemlich kindisch.
Es gibt ein paar Möglichkeiten einen Prozess wirklich unkillable zu machen aber die sind alle ein bissel komplexer und haben hier nix zu suchen, da sowas ausschließlich für bösartige Software einsetzbar ist.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Den Taskmanager auszuschalten bringt nix. Die Konsole bleibt ja meistens, und über die kann man genauso jeden Task killen... Ich sprech da aus erfahrung. Im Grunde braucht man sich nur ne Verknüpfung anlegen, mit den richtigen Parametern versehen und ausführen.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
The Gimp
Beiträge: 15
Registriert: 16.03.2005 22:13

Beitrag von The Gimp »

Ja ist klar... aber den taskkill command kann man auch aushebeln ;-)
siehe oben... code bisschen geändert!
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Warum willst du denn den Taskmanager abschalten? Machs doch besser: sorg dafür, dass der Benutzer zwar den Taskmanager starten, dein Programm damit aber nicht beenden kann. Z.b. in dem du mehrere Programme gleichzeitig laufen lässt, von denen jedes die anderen überwacht, und, wenn ein Programm gekillt wurde, dieses sofort wieder neu startet. Sowas wäre (rein theoretisch) nicht mehr wegzukriegen... Ausser mit einer Methode: man loggt sich auf einem anderen Account ein, und löscht von da aus ALLE EXE-Files des "Tools". Wenn die EXE-Files im "privaten" Verzeichnis eines Useraccount rumlungern, braucht man aber Adminrechte...
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

API Funktionen zum Prozesse Enumerieren hooken und einfach zum nächsten überspringen falls das Resultat der gesuchte Prozess ist.

Ist ganz einfach.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

DarkDragon hat geschrieben:Ist ganz einfach.
Nicht für mich... :freak:
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

hardfalcon hat geschrieben:
DarkDragon hat geschrieben:Ist ganz einfach.
Nicht für mich... :freak:
Ja, das war eigentlich ironisch gemeint. :roll: Sogar mit der remoteAPI.dll ist es nicht ganz einfach, aber man kann schonmal einzelne Prozesse lokal hooken. D.h. in deiner hookingdll musst du Funktionen zum Erstellen von Prozessen hooken und dann einen neuen hook für die erstellten Prozesse erstellen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten