Dateien vor Löschen schützen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Hi!

Wie kann ich meine Programmdateien davor schützen, von einem anderen Programm auf dem Rechner auf dem sie installiert sind gelöscht zu werden? Also praktisch sowas wie der Selbstschutz beim Antivirusprogramm. Ein Virus kann das Programm nicht löschen aber der Benutzer kann es noch Deinstallieren. Geht das und wenn ja wie?

MfG

Anfänger1911
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Das dürfte nicht gehen, ohne tief in das System einzugreifen, was dem Anwender aber sicher nicht gefällt und gewöhnlich auch irgendwo seine Zustimmung oder Interaktion erfordert. Aber frag mal die Entwickler vom Sony-Rootkit... ;)
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

dafür such dir ne andere programmiersprache^^
selbst da geht das nich ganz ohne.
nimm lieber die möglichkeit, dass man das skript nur als root installieren kann und lasse dann dein programm schreibgeschützt im root-verzeichnis hinlegen...
http://www.cs.unm.edu/~dlchao/flake/doom/
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Und wie mach ich das mit dem root? Ich hab keine Ahnung was das sein soll! :oops:
BlackJack

Ignorier murph einfach. Manchmal schreibt er ziemlichen Müll. 'Tschuldigung wenn das jetzt etwas hart klingt, aber das hat überhaupt nichts mit der Programmiersprache zu tun. Und wenn ich unter Linux/Unix ein Programm in das Heimatverzeichnis von `root` lege (ich hoffe doch mal murph meinte nicht das Wurzelverzeichnis '/'), dann kann da im Regelfall auch nur noch der Benutzer `root` drauf zugreifen. Ist natürlich sehr sicher wenn man es nicht mal mehr lesen/ausführen kann. ;-)

Du musst verhindern das ein Prozess das Recht hat, Dein Programm zu löschen. Das ist eine Frage von Dateizugriffsrechten und die sind sehr betriebssystemspezifisch umgesetzt.
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Und wie läuft das dann bei Antivirussoftware? Die verhindern doch auch, dass irgendein Virus sie löscht. Dann müsste das doch auch bei anderen Programmen funktioniern.
BlackJack

Antivirussoftware ist nicht nur durch die üblichen Zugriffsrechte des Betriebssystems geschützt sondern sie fängt ja *jeden* Dateizugriff ab und analysiert ihn. Da ist es natürlich ein leichtes, sowohl Schreibzugriffe auf die Programmdatei selbst, als auch auf das Verzeichnis in dem die Datei liegt, zu unterbinden. AV-Software greift aber ganz tief in das Betriebssystem ein und bremst es auch aus. Das ist nichts was man mal eben macht um ein beliebiges Programm zu schützen.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Anfänger1911 hat geschrieben:Wie kann ich meine Programmdateien davor schützen, von einem anderen Programm auf dem Rechner auf dem sie installiert sind gelöscht zu werden?
Hallo Anfänger1911!

Du kannst die Datei z.B. mit einem Schreibschutz ausstatten. Den kann man zwar wieder ausschalten, aber so ist es zumindest schon schwieriger die Datei zu überschreiben.

Code: Alles auswählen

>>> import os
>>> import stat
>>> os.chmod(r"C:\eine_datei.txt", stat.S_IREAD)
>>>
So hebst du den Schutz wieder auf:

Code: Alles auswählen

>>> os.chmod(r"C:\eine_datei.txt", stat.S_IWRITE)
Siehe http://docs.python.org/lib/os-file-dir.html --> suche nach "chmod".

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Anfänger1911
User
Beiträge: 62
Registriert: Donnerstag 17. November 2005, 16:25

Danke ich glaub das mach ich so. Ein anderes Programm kann mein Programm dann nicht verändern und ich könnte ja in mein Programm eine Option für den Benutzer einbauen um den Schreibschutz aufzuheben, oder?
Benutzeravatar
Blattlaus
User
Beiträge: 55
Registriert: Donnerstag 24. August 2006, 08:55

Doch natürlich kann ein anderes Programm deins verändern, es muss nur vorher den Schreibschutz aufheben. Und das kostet den Programmierer ca. 2 Zeilen mehr Code.
Lass es bleiben, so ein Pseudoschutz ist bloß eine verschwendung von Ressourcen.
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

@blackjack:
sry, da habe ich micht ausformuliert. natürlich sollte man selber root sein, wenn man die lösung nimmt ;-)
hatte an meinen zustand gedacht, wo ich selber root bin, aber nicht als root unterwechs durchs net surfe.
das werde ich das nächste mal genauer formulieren.
außerdem
an andere programmiersprachen hae ich wegen der würmer und viren gedacht. die kann man ja nicht so ohne weiteres löschen, weil die sich im moment des löschens in den arbeitsspeicher verziehen und danach erst wieder sich auf die platte schreiben. und das hat auf jeden fall was damit zu tun, welche programmiersprache man nimmt. das halte ich mit purem python für unrealisierbar, aber ganz anders wird es bei assembler, wo man ja seinen eigenen code komplett im arbeitsspeicher schreiben kann (das hatte ich mal in einem tutorial gesehen^^)
nichts für ungut, das hatte aber so schon seinen sinn...
http://www.cs.unm.edu/~dlchao/flake/doom/
Antworten