Zitat:
sollte der Nutzer das Passwort nicht kennen, kommt er nicht weiter.
Dann kennst du einige Profis aus diesem Forum hier nicht. Denen ist das Passwort vollkommen egal. Die wechseln in der Binary einfach ein if <> then mit if not <> then aus und schon sind sie drin.
Das kommt drauf an wie gut man es verschachtelt bzw. welche Abhängigkeiten es noch gibt.
Bei meinem Beispiel z.B.:
1. Prüfen ob der Passwort-Parameter (mit der erwarteten Logik z.B. "/PasswordSecure XXXXX") übergeben wurde, wenn nicht z.B. Programm beenden (wenn es um die "Sicherung" des Programms geht). Wenn ja nächste Prüfung
1.b. Prüfen ob noch z.B. Versuche des Windoofbenutzers möglich sind, wenn nicht z.B. Programm beenden (wenn es um die "Sicherung" des Programms geht). Wenn ja nächste Prüfung
2. Prüfen ob die Datei mit dem Hash gefunden wird, wenn nein: z.B. Programm beenden (wenn es um die "Sicherung" des Programms geht). Wenn ja, nächste Prüfung.
3. Versuchen diese Datei auszulesen, wenn nicht möglich (oder kein Wert): z.B. Programm beenden (wenn es um die "Sicherung" des Programms geht). Wenn ja, nächste Prüfung
4. Den Passwort-Parameter hashen und mit dem hash aus der Datei vergleichen. Ist dieser nicht gleich: z.B. Programm beenden (wenn es um die "Sicherung" des Programms geht). Wenn ja: Freigabe erteilen.
Da reicht ein "einfaches" Ersetzen eines if then durch ein if not then nicht aus.
Das es auch dafür natürlich Mittel und Wege gibt das zu umgehen, ist sicherlich klar.