← ST-Computer 02 / 1989

Die Festplatte gesichert

Programmierpraxis

Dieses GFA-BASIC-Programm sorgt dafĂŒr, daß niemand, der nicht den Code kennt, Ihre Festplatte verwenden kann. Eine falsche Codeworteingabe fĂŒhrt zu einer Endlosschleife. Der Bildschirm bleibt schwarz! Das Codewort kann leicht geĂ€ndert und mit einem variablen CodeschlĂŒssel codiert werden. So ist es unmöglich, durch einfaches Nachschauen im Programmcode herauszufinden, wie es heißt.

Der Text, der nach dem Codewort fragt, ist einfach zu Ă€ndern. Selbst die X- und Y-Koordinaten, an denen dieser Text auf dem Bildschirm erscheint, sind beliebig einstellbar. Nach einer Fehleingabe erscheint eine entsprechende Meldung. Nach dreimaliger Fehleingabe ist endgĂŒltig Schluß!

Jedoch ist die Voraussetzung fĂŒr die sinnvolle Verwendung dieses Programms die FĂ€higkeit des Harddisktreibers, Programme im Ordner “C:\AUTO\” selbsttĂ€tig zu starten. Die SH 205 von ATARI kann das, ebenso die Vortex-Platte. Manch anderer Hersteller lĂ€ĂŸt hier bisweilen aber sehr zu wĂŒnschen ĂŒbrig!

Das Programm besteht aus zwei Teilen:

WRTPAR.BAS schreibt die Parameter-Datei “C:\AUTO\PARAMETR” auf die Platte. Sie enthĂ€lt die 6 Variablen X, Y, Text$, Code, Code_key und Message$ fĂŒr das Codewort und die Textanzeige auf dem Bildschirm. Dieser Programmteil ist kurz gehalten, d.h. er hat kein komfortables MenĂŒ, da das Codewort nicht stĂ€ndig geĂ€ndert wird. Die einzelnen Parameter werden im Quellcode nĂ€her erlĂ€utert.

LOGIN.PRG enthĂ€lt die Codewortabfrage unter Verwendung der Datei “C:\AUTO\PARAMETR”. Auch hier erklĂ€rt sich das Listing durch die Kommentare selbst. Das Programm wird auf der Festplatte im AUTO-Ordner der Partition “C:\” installiert. Und zwar möglichst als erstes Programm, das nach dem Laden des Festplattentreibers gestartet wird. Dazu kopiert man erst alle im AUTO-Ordner vorhandenen Dateien mit der Extension “.PRG” heraus, dann zuerst LOGIN.PRG hinein und nun alle anderen “.PRG” wieder dazu. Jetzt wird LOGIN. PRG vor den anderen Programmen gestartet.

' Programmname: LOGIN.BAS Datum: 20.05.88 ' Version 1.0 Autor: Oliver Meißel ' Open "I",#1,"C:\AUTO\PARAMETR" !Parameter-Datei laden. Input #1,X,Y,Text$,Code,Code_key,Message$ Close #1 Code$=Mkl$(Code-58*Code_key)!LOG-IN entschlĂŒsseln. Setcolor 0,0 !Hintergrundfarbe = schwarz Tex=Int(Len(Text$)/2) If X=100 !Wenn X=100: Text zentrieren X=40-Tex Endif If Y=100 !Wenn Y=100: Text in Bildschirmmitte Y=12 Endif Print At(X,Y);Text$ !Textzeile auf Bildschirm bringen. Nochmal: Log_in$="" For 1=1 To 4 !4 Zeichen von Tastatur einlesen. Char=Inp(2) Log_in$=Log_in$+Chr$(Char) Print At(X+Tex-3+I,Y+2);"." Next I If Log_in$<>Code$ !Wenn falsches LOG-IN, nochmalige Eingabe Inc Count Print At(X+Tex-Int(Len(Message$)/2),Y+4);Message$ If Count<3 Pause 50 Print At(X+Tex-Int(Len(Message$)/2),Y+4);String$((Len(Message$))," ") Print At(X+Tex-2,Y+2);" " Goto Nochmal Endif Do !Nach 3x Fehleingabe -> Endlosschleife Loop Endif Setcolor 0,1 !Hintergrundfarbe = Weiss Edit !Wenn richtiges LOG-IN: Programm beenden

Listing LOGIN.BAS

' Programmname: WRT_PAR.BAS Datum: 20.05.88 ' Version : 1.0 Autor: Oliver Meißel ' Log_in$="4566" !Hier LOG-IN eintragen (max. 4 Stellen)! Code_key=1965 !Hier dreistellige Zahl fĂŒr VerschlĂŒsselung des LOG-INs angeben! Code=Cvl(Log_in$)+58*Code_key !LOG-IN verschlĂŒss. Open "O",#1,"C:\AUTO\PARAMETR" !Parameter-Datei schreiben. Write #1,100,100,"Bitte LOG-IN eingeben:",Code,Code_key,"Falsches Codewort!" ' ' ' ' X: X-Koordinate des Textes auf dem Bildschirm ' X=100 -> Text wird horizontal zentriert ' Y: Y-Koordinate des Textes auf dem Bildschirm ' Y=21,22,23 -> Verschiedene nĂŒtzliche Effekte, bedingt durch das ' automatische Scrolling! ' Y=100 -> Text wird vertikal zentriert ' Text: Text auf dem Bildschirm (z.B.: 'LOG-IN ?') . ' Code: VerschlĂŒsseltes LOG-IN (max. 4 Stellen) ' CodeschlĂŒssel: Maximal vierstellige Zahl zum VerschlĂŒsseln des LOG-INs. ' Meldung: Meldung, wenn falsches Codewort eingegeben wird. ' (z.B. Good bye Hacker!) Close #1 Edit

Listing WRT_PAR.BAS

Oliver Meißel