DISAPA

Aus C64-Wiki
Wechseln zu: Navigation, Suche
DISAPA
Format: DISAPA
Parameter
keine
Einordnung
Typ: Anweisung
Kontext: Programmsicherheit
Aufgabe: Programmzeilen vor Sichtzugriff schützen
Abkürzung: keine
Verwandte Befehle
SECURE - LIST


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort DISAPA.

Typ: Anweisung
Syntax: DISAPA

DISAPA (abgeleitet aus dem engl. disappear = verschwinden, unsichtbar machen) setzt der Programmierer vor diejenigen Zeilen des Programms, in denen Daten abgefragt werden, die verborgen bleiben sollen, wie z.B. Passwörter. Zusammen mit SECURE werden diese Zeilen beim Listen leer angezeigt. Ihr Inhalt wird dessen ungeachtet ganz normal ausgeführt.

Allerdings beruht der "Programmschutz" nur auf einer Besonderheit der LIST-Routine des Interpreters und bietet nicht wirklich die Sicherheit, die man erwarten würde. Die zu schützende Zeile wird z.B. nicht verschlüsselt und kann mit jedem Monitorprogramm eingesehen werden. Mit so einem Programm lässt sich sogar der Sichtschutz mit einer einzigen Eingabe wieder rückgängig machen, daher ist der Nutzen der Befehle DISPAPA und SECURE eher zweifelhaft.

Nach Eingabe des Befehls in die zu schützende Zeile hängt der Interpreter intern vier Doppelpunkte an den Befehl an, so dass zusammen mit dem ohnehin erforderlichen Doppelpunkt eine BASIC-Zeile in etwa so aussehen könnte:

100 DISAPA:::::IF x$<>"geheim" THEN STOP

Der Befehl SECURE verwandelt nun den DISAPA-Befehl in ein Nullbyte, was zusammen mit den Doppelpunkten die LIST-Routine dermaßen irritiert, dass der Rest der Zeile nicht mehr angezeigt wird.