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
Dateien vor Löschen schützen
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...
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...
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/
-
- 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!
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.
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.
-
- 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.
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.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Anfänger1911!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?
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)
>>>
Code: Alles auswählen
>>> os.chmod(r"C:\eine_datei.txt", stat.S_IWRITE)
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- 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?
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.
Lass es bleiben, so ein Pseudoschutz ist bloß eine verschwendung von Ressourcen.
@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...
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/