DISAPA
DISAPA | |
Syntax: | DISAPA |
Parameter | |
keine | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Programmsicherheit |
Aufgabe: | Programmzeilen vor Sichtzugriff schützen |
Abkürzung: | keine (TSB: disaP) |
Token: | $64 $41 (100 65) |
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 beispielsweise 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.
Hinweis: Ab TSB 2.40215 (neo) ist dieser Befehl nicht mehr Teil des TSB-Befehlssatzes. An seine Stelle (mit gleichem Token wie DISAPA) ist MOBCOL getreten.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE