AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Start eines Programms verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Start eines Programms verhindern

Ein Thema von Chris21 · begonnen am 29. Sep 2004 · letzter Beitrag vom 1. Okt 2004
Antwort Antwort
Seite 3 von 3     123   
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#21

Re: Start eines Programms verhindern

  Alt 30. Sep 2004, 18:13
Kann man als Admin unter einem NT5-System nicht einfach nur bestimme Programme erlauben, oder bestimme Programme verbieten?
Ich weiß nicht, ob das unter W2K geht, aber ich hab' das vor kurzem für ein paar XP-Rechner gemacht, irgendwo in den lokalen Sicherheitsrichtlinien. Da kannst du erstmal einstellen, dass alle Anwendungen verboten sind, und dann erlaubst du wieder die, die eben doch laufen sollen. Und das aktivierst du dann alles für User, aber nicht für Administratoren und fertig. Da brauchst du doch kein Extraprogramm für und sicherer ist es so auch (weil die Programme wirklich nicht starten und es kann auch keiner dein Programm abschießen, weil's gar nicht läuft (c; )
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
novelly

Registriert seit: 13. Aug 2003
23 Beiträge
 
Delphi 2007 Professional
 
#22

Re: Start eines Programms verhindern

  Alt 30. Sep 2004, 19:45
hi,

ich würde mal so laienhaft behaupten das eigentlich nur ein hook in frage kommt, sowas was shellexecute oder createprocess zeug abfängt....

wie gesagt nur mal ins blaue gedacht!

schönen abend noch !
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#23

Re: Start eines Programms verhindern

  Alt 30. Sep 2004, 22:43
@novelly: Genau, das ist die beste und warscheinlich 'sicherste' methode.
Dazu gibts auch nen beispiel, und zwar wird das gleich mit der Hook-Library mitgeliefert: http://www.madshi.net/
Lad dir dort die MadCollection runter, installier sie, und schau in den Ordner "... \Madshi\madCodeHook\Demos\system wide\VariousDlls", wo du eine Datei namens "HookProcessCreation.dpr" finden wirst ... die halt nurnoch compilieren, injezieren, und "Gott" spielen
Der Quellcode ist eigentlich ziemlich logisch, sonst einfach hier fragen, oder mich fragen

ich hoffe, dass dies dir weiterhilft

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#24

Re: Start eines Programms verhindern

  Alt 1. Okt 2004, 14:06
Zitat von c113plpbr:
@novelly: Genau, das ist die beste und warscheinlich 'sicherste' methode.
Das ginge auch, ist aber bestimmt ufwendiger zu programmieren und ob es besser ist, ist die Frage. Jeder Hook belastet das System. Und wenn man das nicht richtig programmiert, dann kann man ganmz schnell sein System lahmlegen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#25

Re: Start eines Programms verhindern

  Alt 1. Okt 2004, 17:13
Zitat von Luckie:
Das ginge auch, ist aber bestimmt ufwendiger zu programmieren und ob es besser ist, ist die Frage. Jeder Hook belastet das System. Und wenn man das nicht richtig programmiert, dann kann man ganmz schnell sein System lahmlegen.
Ein Hook ist auch nur eine zusätzlich geladene DLL, die von eben allen Prozessen geladen wird, das tun die meisten Programme sowieso meist "en masse" ...
Klar, wenn man sowas nicht richtig programmiert, kriegt man ohne weiteres mal auch unter WinXP eine Bluescreen, aber soooviel kann da nicht schiefgehen, und wenn was schiefgeht, dann fixt man das halt, bis es funktioniert, bevor man das veröffentlicht, wenn überhaupt.

Und wo ihr grad von Diensten sprecht: Diese belasten das System auch, wenn nicht noch mehr (ständige abfragen auf alle existierenden prozesse oder fenster sind nicht ganz ohne ...). Außerdem kann so das Programm schon in der "wurzel" gekillt werden, denn um createprocess kommt man nicht so schnell rum ... (außer mit nem hook )

FAlters Methode ist auch nicht die beste, da es ja auch noch neben shellexecute andere möglichkeiten gibt einen prozess zu erstellen ... (nagut, dazu muss natürlich dann erstmal nen programm laufen ... ^^)

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
HW764
(Gast)

n/a Beiträge
 
#26

Re: Start eines Programms verhindern

  Alt 1. Okt 2004, 17:35
Ich stimme euch zu!

Gruss HW764
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#27

Re: Start eines Programms verhindern

  Alt 1. Okt 2004, 18:21
Zitat von c113plpbr:
Ein Hook ist auch nur eine zusätzlich geladene DLL, die von eben allen Prozessen geladen wird, das tun die meisten Programme sowieso meist "en masse" ...
Nur dass bei eienm Hook alle Systemnachrichten noch durch den Hook durchgeschleift werden und das bremmst das System aus.

Zitat:
Klar, wenn man sowas nicht richtig programmiert, kriegt man ohne weiteres mal auch unter WinXP eine Bluescreen, aber soooviel kann da nicht schiefgehen, und wenn was schiefgeht, dann fixt man das halt, bis es funktioniert, bevor man das veröffentlicht, wenn überhaupt.
Nein. Eine Bluescreen wird man nicht bekommen, aber ds System könnte sich ungewöhnlich verhalten.

Zitat:
Und wo ihr grad von Diensten sprecht: Diese belasten das System auch, wenn nicht noch mehr (ständige abfragen auf alle existierenden prozesse oder fenster sind nicht ganz ohne ...).
Nö. Ein Dienst ist auch nur eine weiterer geladener Prozess. Und das abfragen der Prozessliste macht man logischerweise in einem Thread mit der Priorität idle.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#28

Re: Start eines Programms verhindern

  Alt 1. Okt 2004, 18:30
@Luckie: Nein, du verstehst mich falsch. Es gibt einen großen unterschied zwischen Windows-Hooks und API-Hooks ... und ich sprach von einem API-Hook, der die CreateProcessA Funktion abfängt. Das funktioniert nicht so wie ein windowshook, und es kommen da auch keine messages an, es wird einfach STATT der ursprünglichen 'CreateProcessA'-funktion aus der 'Kernel32.dll' MEINE Funktion aufgerufen. In meiner Funktion kann ich dann entscheiden, ob ich die OriginalFunktion (also die aus der 'Kernel32.dll') aufrufen soll, oder es einfach lasse ...

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 14:39 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