Schreibgeschützte dateien



  • Hallo,

    komme eigentlich aus der Java-ecke, habe aber auch grundkentnisse in C. Nun wollte ich Fragen, wie man dateien (geht jetzt um textdateien, auch wenn es keinen unterschied macht), die schreibgeschützt sind verändern kann. Ich weiß, dass es auf jeden Fall möglich ist, nur nicht wie.

    Hoffe auf Eure Hilfe



  • Schreibschutz aufheben? Löschen und neu anlegen? Hat aber nichts mit der Sprache zu tun, eher mit dem benutzten Dateisystem+Betriebssystem.



  • darkeye2 schrieb:

    Ich weiß, dass es auf jeden Fall möglich ist

    Leider sind mir einige Fälle bekannt, wo dies unmöglich ist, damit wäre deine Aussage wiederlegt.

    Wenn also löschen und neu anlegen nicht funktioniert, musst du mehr Details über die Umgebung (BS, FS) bekannt geben.



  • nutze Win xp (64bit) und die Datei wird in einem vom System geschützen Ordner erstellt (Anwendungsdateien), das erstellen klappt ja erstaunlicherweise, aber wenn ich dann verändern will geht es nicht mehr. Wenn ich mit java versuche den Schreibschutz aufzuheben scheint es nicht zu klappen (von hand geht es ja auch nicht). Der Unlocker kann die datei verändern (z.b. durch neue ersetzen oder umbenennen) wüste gerne, wie der das macht.

    Und ich denke schon, dass es auch was mit der Sprache zutun hat, Java wird schließlich in der vm ausgeführt und bietet deswegen in manchen Bereichen nicht so viele Möglichkeiten (dafür gibts dann JNI und C ^^)



  • Der Unlocker holt sich bei Systemstart volle Rechte. So kann er machen was er will. Anwender bist dann nicht du sondern das System. Man kann das ganz leicht selber durch einen Registryeintrag und/oder einen Dienst bewerkstelligen.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    darkeye2 schrieb:

    Ich weiß, dass es auf jeden Fall möglich ist, nur nicht wie.

    Es ist nicht möglich. Sowohl NTFS als auch FAT verlangen, dass der Schreibschutz aufgehoben wird...

    Beachte, dass es viele Arten von "Schreibschutz" gibt.
    1. Readonly Atribut.
    2. Andere Prozess greift zu und erlaubt keinen shared Zugriff.
    3. Auf dem NTFS Verzeichnis gibt es keine Rechte.

    Der Unlocker behandelt IMHO nur Fall 2. Ich vermute, dass der Unlocker in den Zielprozess einfach Code injeziert, der CloseHandle aufruft. Das Handle und die Prozesse wird er ala Process Explorer bestimmen.


Log in to reply