Datei für User Unveränderbar machen


  • Mod

    Unmöglich. Der Rechner des Nutzers ist vollständig unter dessen Kontrolle, inklusive aller Dateien und des Programms selber (sowohl der Programmdatei als auch des Programms bei der Ausführung). Irgendwelche "Features" (DRM?) die auf der Unveränderbarkeit von lokalen Daten beruhen können prizipiell nicht funktionieren.



  • Es geht darum, dass die Datei Informationen beinhaltet, die die Oberfläche der Software festlegen. Deswegen möchten wir nicht, dass jeder User dort lustig Sachen verändern kann, damit wir halt Stabilität gewährleisten können.



  • SeppJ schrieb:

    Unmöglich.

    Ein DAU-Schutz ist schon möglich. Einfach oben eine SHA-Checksum hinschreiben und darunter im Klartext.

    Alternativ kurz zlib drüberlaufen lassen, dann wird die Datei kleiner und für den Texteditor "unlesbar".



  • C++-Neuling schrieb:

    Es geht darum, dass die Datei Informationen beinhaltet, die die Oberfläche der Software festlegen. Deswegen möchten wir nicht, dass jeder User dort lustig Sachen verändern kann, damit wir halt Stabilität gewährleisten können.

    Einfach drüberschreiben "Do not edit this file! This may void warranty!!!"



  • Also in Windows ist es ja ersteinmal so, dass alles, was im Programm-Verzeichnis ist, für normale Benutzer sowieso schon einmal schreibgeschützt ist. Ich weiß nicht, wie das bei Linux aussieht... Ich finde, das ist eigentlich schon Schutz genug.



  • Super, das klingt ja schon nach guten Ansätzen. Ich werde mich mal da weiter informieren. Vielen Dank schon mal :-).

    Mir ist halt die Frage aufgekommen, als ich mir Software auf meinem Rechner angesehen haben. Egal ob nun Office oder Games, es gibt immer Dateien auf die nicht ohne weiteres zugegriffen werden kann. Deswegen würde wir, dass für die wichtige Dateien auch gerne tun.



  • Wie wäre es aus den Interfacedaten eine Art Checksum zu bilden und diese mit einem in das Programm kompiliertem Schlüssel o.ä. zu vergleichen.



  • Was ich mal probieren werden, ist die SHA-Checksum. Dann kann ich zu einem Dokument eine Prüfzahl berechnen, abspeichern und die dann beim Laden überprüfen. Wenn sie sich unterscheidet, dann weiß ich zumindest, dass es eine Veränderung gab und kann dann vllt. einen Default oder ähnliches setzen. Die berechnete Prüfsumme, muss ich aber dann auch im Dokument ablegen, oder?
    Ich werde mal meine Gedanken in dieser Richtung weiterspinnen. Wenn ich was funktionierendes habe, poste ich es mal hier rein :-).
    Vielen Dank an alle für die schnelle Hilfe :-)! Großartige Community :-)!


  • Mod

    C++-Neuling schrieb:

    Was ich mal probieren werden, ist die SHA-Checksum. Dann kann ich zu einem Dokument eine Prüfzahl berechnen, abspeichern und die dann beim Laden überprüfen. Wenn sie sich unterscheidet, dann weiß ich zumindest, dass es eine Veränderung gab und kann dann vllt. einen Default oder ähnliches setzen. Die berechnete Prüfsumme, muss ich aber dann auch im Dokument ablegen, oder?

    Und wie weißt du, dass die Prüfsumme nicht verändert wurde? Gar nicht.

    Es wurde doch schon erklärt, dass du deine lokalen Daten prinzipiell nicht schützen kannst, du bist auf den guten Willen des Nutzers angewiesen, nichts zu ändern. Der Vorschlag, an den guten Willen des Nutzers zu appellieren ("please do not edit this file!") ist da die einfachste Methode, alles andere sind nur Verkomplizierungen. Dieser Vorschlag ist quasi ein unausgesprochenes "please do not edit this file, nor the checksum".

    Niemand erwartet Integrität eines Programms, wenn er Programmdateien editiert. Warum sollte man sich davor schützen? Und der DAU der es trotzdem versucht (wobei ich bezweifle, dass jemand, der so etwas nicht weiß, eine Programmdatei editiert bekommt) wird hoffentlich von einem einfachen Hinweis aufgehalten. Wenn nicht, dann hat er wenigstens was gelernt.



  • ich würde da gar nichts schützen. Es entspricht bereits nicht normalem Nutzerverhalten, so eine herumliegende Datei zu öffnen. Wenn ein DAU sich das selbst kaputt spielt, dann soll er einfach das Programm neu installieren.

    Wenn das Format bereits human-readable ist und in der Theorie ein Mensch das fhlerfrei anpassen könnte...warum wollt ihr das dann verhindern, ihr könntet das doch als Feature anpreisen?


Anmelden zum Antworten