| Autor |
Beitrag |
Murmel
      
Beiträge: 79
xp
d6,d7
|
Verfasst: Do 20.03.03 10:04
ich möchte das mein programmchen (eine sicherheitssoftware) automatisch beim booten starten soll... das ganze ist eigentlich denkbar einfach (eintrag in regedit, sytemdateien etc. oder in den autostartordner) nun handelt es sich bei meinem programmchen um eine sicherheitssoftware, d.h. diese darf der user nicht deaktivieren oder umgehen können (nur mit passwort)... also muß ich es schaffen das mein programm nicht durch hochfahren in den abgesicherten Modus umgangen werden kann... nun meinte ein netzwerktechniker aus unserem hause ich müsste das ganze als dienst anmelden, ist das die lösung? und wenn ja, wie kann ich mein programmchen als dienst anmelden?
gruß murmel
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Do 20.03.03 10:33
Ja, du musst einen Service oder Dienst schreiben. Es gibt zu diesem Thema schon mehrere Diskussionen, einfach mal die Suchmaschine anwerfen.
Noch ein Hinweis: Das Thema Services und Sicherheit sind ziemlich komplex, die entsprechende Fachliteratur sollte da also nicht fehlen! Ich kann dir da nur das Buch "Programming Windows Security" von Keith Brown ans Herz legen!
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 20.03.03 22:03
Hi,
Du gehst einfach in Delphi auf Neu und dann auf Service-Anwendung. Dann schreibst Du Deinen Quelltext in das Ereignis OnExecute. Du kannst natürlich noch andere Funktionen oder Proceduren mit einbringen. Bedingung, es darf keine Benutzerintervention von Deinem Programm ausgehen. Wenn Du eine machen möchtest, verweise ich auf das Tutorial von der Seite Delphi-Source. Wenn Du es dann das ganze kompiliert hast, startest Du die EXE mit dem Schalter /install um den Dienst zu installieren oder mit dem Schalter /uninstall um den Dienst zu deinstallieren. Mit dem Schalter /silent, schaltest Du noch das Meldungfenster ab, welche bei der Installation und Deinstalltion angezeigt wird. Was ich aber nicht genau weiß, gibt es den Schalter /silent erst ab Delphi 5.
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Fr 21.03.03 20:51
Ich bin ja kein Profi auf dem Gebiet... aber geh' mal in die eingabeaufforderung, und tipp "msconfig" ein. Dan kannst du alle Services deaktivieren. Oder irre ich? Wie gesagt, eigentlich nicht mein Fach...
_________________ Life is a bad adventure, but the graphic is really good!
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Fr 21.03.03 21:29
Hi,
mit net start kannst Du sehen, welche Dienste gestartet sind. Den gleichen Befehl plus einen Namen von einem Dienst, kannst Du den angegeben Dienst starten oder mit net stop Dienstname den angegebenen Dienst wieder stoppen.
Ansonsten, wenn Du wissen willst, was für Dienste installiert sind, gehste in die Systemsteuerung und dann Dienste.
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Fr 21.03.03 22:16
Auf was ich rauswollte, war eher: sind Services wirklich sicherer als Autorun? di ekann man auch aus dem "autorun" löschen. Oder?
_________________ Life is a bad adventure, but the graphic is really good!
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Fr 21.03.03 22:31
Hmm,
services sind eher was für NT, da muß sich kein User anmelden um den Dienst (deine Anwendung) zu starten. In der Autorun (eher W9x-PCs) muss sich immer einer Anmelden (sofern Netwerkkram installiert ist).
Ansonsten gibts keine "unterschiede".
Ein Service kann nur u.U. mit dem Nutzer aggieren, ein Programm via Autostart ist eine normale Anwendung.
Beides Kann der Nutzer ausschalten (Autorun: Registry, Dienst: Manager)
Was meinst du mit sicherer? Beides ist in Bezug auf die Nutzermeinung unsicher weil er kanns deinstallieren.
Oder: W2K - Dienst als Admin Installieren - User keine Rechte auf Dienste geben. fertig.
Grez
MSCH
|
|
SMI
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: Sa 22.03.03 03:39
Es gibt da eine brutalo Methode. Die tatsächlich funktioniert!
Auf jedem Windows Computer gibt die runonce.exe, diese wird bei jedem Start ausgeführt, und zwischen Netwerksanmeldung und der Shell ausgeführt wird. Da Windows so lange wartet bis Datei beendet wurde kann man nun genau diese Datei umbenenen z.B. in runonce2.exe, und durch eigene runonce.exe ersetzen. Die wird dann zwangsläufig jedesmal mit Windows gestartet.
Da RunOnce.Exe nicht einfach so weggelöscht/ersetzt werden kann muss das "neue" RunOnce bei jedem Start das "original" runonce aufrufen, mit allen Startparametern, und genauso wie es Windows auch macht warten bis es beendet ist.
Da runonce auch für Installationen benötigt wird sollte man verhindern, dass das "neue" runonce während eines Setup im normalen Windows Betrieb gestartet wird. Das bedeutet man muss bei jedem Programmstart überprüfen, ob die Shell gestartet ist, wenn sie da ist wird das alte runonce mit allen Parametern aufgerufen, wobei man die Fenster des "neuen" RunOnce verbergen sollte! Ansonsten erschein während eines Setups aus dem nirgendwo das Fenster des "neuen" Runonce.
SMI
_________________ Wenn es im Jahre 1879 schon Computer gegeben hätte, würden diese vorausgesagt haben, daß man infolge der Zunahme von Pferdewagen im Jahre 1979 im Pferdemist ersticken würde.
(John C. Edwards, brit. Zukunftsforscher)
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Sa 22.03.03 14:38
Services können nur von einem Administrator installiert/deinstalliert werden.
| Platform SDK hat folgendes geschrieben: | OpenSCManager
Only processes with Administrator privileges are able to open a database handle that can be used by the CreateService and LockServiceDatabase functions. |
D.h. nur ein Administrator kann mit oben genannten Programmen einen Dienst deaktivieren (da der Dienst in der Logon-Session des jeweiligen Benutzers läuft und das Process-Token mit den Privilegien von dieser Logon-Session abhängt).
Services können normalerweise nicht mit dem User interagieren, da sie einer anderen WindowStation zugeordnet sein...
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 22.03.03 15:28
Ahso... ich binhalt Admin (da ich der einzige User bin). kann sein. Dann wären Services eine gute Lösung.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 22.03.03 16:06
@Andreas: (Als Ergänzung zu dem, was Motzi geschrieben hat.) NT und 2000 enthalten, IMHO, kein "msconfig". Damit wäre das Problem einzig auf Win XP beschränkt. Wobei es kein Problem ist, denn "msconfig" lässt sich nur mit Admin-Rechten aufrufen. Zumindest ist das bei mir so. Aber ich habe mein XP ohnehin sehr restriktiv eingestellt.
@SMI: Das ist die beste Anleitung zum Thema: Wie könnte ich mir mein System ruinieren?, die ich je gelesen habe. Der Weg mag funktionieren, aber es stecken viele potentielle Fehlerquellen drin. Das Risiko, sich sein Windows gründlich zu versauen, wäre mir persönlich zu hoch. Das grenzt außerdem schon fast an Trojanertaktik.
Die Frage wäre zudem, ob der Systemdateienschutz von Win XP z.B. solche Änderungen nicht unterbindet bzw. veränderte Systemdateien stillschweigend durch die Sicherheitskopie ersetzt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 22.03.03 16:26
Das will ich aber schwer hoffen, dass Windows sowas verhindert.
|
|
SMI
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: Sa 22.03.03 17:55
@MathiasSimmack
Ich kann dich beruhigen, so einfach ruiniert man Windows nicht.
Das beschriebene Programm läuft seit über einem Jahr stabil auf mehreren Informations Kiosken.
Da es nur eine "exe-Datei" ist sind die Fehlerquellen sind eigentlich gering, alles Wichtige habe ich ja erwähnt.
@ Luckie & MathiasSimmack
Der Schutz von System Dateien ist so träge und schlecht, dass man ihn mit einer einfachen Batch Datei überlisten kann, danach glaubt dann Windows die Datei sei ein Original und "verteidigt" sie sogar! Dashalb kann ich nur empfehlen ihn komplett auszuschalten, dabei spart man sich dann auch noch so etwa 300 MB ein!
SMI
_________________ Wenn es im Jahre 1879 schon Computer gegeben hätte, würden diese vorausgesagt haben, daß man infolge der Zunahme von Pferdewagen im Jahre 1979 im Pferdemist ersticken würde.
(John C. Edwards, brit. Zukunftsforscher)
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 22.03.03 19:23
Also ist die Idee doch nicht so universell wie gedacht. Sicher, es wird funktionieren. Aber ein 2000/XP-Benutzer muss also zusätzlich noch die Systemdateiwiederherstellung "überlisten", nur damit sein Programm immer beim Booten startet ... Also der Aufwand ist eindeutig zu groß.
Fazit: Schreib einen echten NT-Dienst, Murmel. Der kann von normalen Usern nicht beendet oder gelöscht werden.
|
|