WSH/ VBS Tutorial Wer kennt ihn nicht den wohl bekanntesten aller Viren den ILOVEYOU Virus. Sicherlich habt ihr euch schon gefragt in welcher Programmiersprache er geschrieben ist! Ich muss gleich von Anfang an klar stellen das der iloveyou Virus in keiner Programmiersprache sondern in einer Script Sprache geschrieben wurde, nämlich Visual Basic Script (kurz VBS). Skripte unter Windows : Die Windows Script Runtime bzw. Engine ist in der Lage VBScript-, JScript-, WSH- und Windows Script Components-Skripte abzuarbeiten (zu interpretieren). Neben JScript- (das ist KEIN! JavaScript) können auch VBScript- und WSH-Skripte in HTML-Seiten eingebunden werden, laufen aber nur auf MS Windows-Systemen. Skripte sind in Text- bzw. ASCII-Dateien gespeichert und enthalten keinerlei Textformatierungen (fett; unterstrichen). Die Dateierweiterung / -endung lautet '.vbs'. Richtige Tetverarbeitungsprogramme wie MS-Word sind daher kaum zur Barbeitung von Skripten geeignet. Zunächst ein paar Tipps: # Die Hilfe aus Script 5.6 (dt.) Dokumentation (scd56de.exe; 1464 KB) ist wirklich hilfreich falls ihr mal nicht weiter kommt! # Wenn ihr eine neuere Notepad Version verwendet könnt ihr mit [Strg] + [G] direkt zum Fehler der beim debuggen aufgetreten ist springen. Kommen wir nun zum ersten Punkt und schauen ob euer Computer Windows Script Hosting fähig ist (WSH). Ihr nehmt einen normalen Texteditor (Notepad) und tippt folgendes ein: dim strAusgabe strAusgabe = WScript.Version Wscript.Echo "WSH-Version:" &strAusgabe Wscript.Quit Das speichert ihr nun unter wsh.vbs ab! Nun führ ihr die Datei aus und siehe da: Ihr habt euer erstes Program fertig. Es wäre sinnlos euch jetzt mit dem Source Code alleine zu lassen darum werde ich ihn nun Zeile für Zeile für euch Analysieren: dim strAusgabe ' Definitions einer Variable mit dim die Variable ist in dem Falle strAusgabe strAusgabe = WScript.Version ' Definition der Variable (strAusgabe = Versions Anzeige mit WScript.Version) Wscript.Echo "WSH-Version:" &strAusgabe ' Ausgabe eines Textes mit Echo und der Version durch die zuvor definierte Variable Wscript.Quit ' Dieser Befehl beendet das Script. Die besonders Cleveren unter euch werden jetzt fragen warum man die Ausgabe der Version zuvor mit einer Variable definiert werden muss: Muss nicht aber ich bin der Meinung das man nicht früh genug mit Definitionen von Variablen anfangen kann. So nun gleich weiter zu eurem zweiten Prog. Wir nehmen einfach mal die verschiedenen arithmetischen Operatoren: WScript.Echo "9+3= " & 9+3 WScript.Echo "9-3= " & 9-3 WScript.Echo "9*3= " & 9*4 WScript.Echo "9^4= " & 9^4 WScript.Echo "9/4= " & 9/4 WScript.Echo "9\4= " & 9\4 WScript.Quit Ja wieder das Selbe wie im ersten Prog. Speichern - Ausführen- Über euer zweites Prog freuen. Nun wieder die Analyse des Quellcodes: WScript.Echo "9+3= " & 9+3 ' In den Anführungszeichen den normalen Text eingeben, ' danach die gewünschte arithmetischen Operatoren eingeben ' Addition mit + WScript.Echo "9-3= " & 9-3 ' In den Anführungszeichen den normalen Text eingeben, ' danach die gewünschte arithmetischen Operatoren eingeben ' Subtraktion mit - WScript.Echo "9*3= " & 9*4 ' In den Anführungszeichen den normalen Text eingeben, ' danach die gewünschte arithmetischen Operatoren eingeben ' Multiplikation mit * WScript.Echo "9^4= " & 9^4 ' In den Anführungszeichen den normalen Text eingeben, ' danach die gewünschte arithmetischen Operatoren eingeben ' Potenzierung mit ^ WScript.Echo "9/4= " & 9/4 ' In den Anführungszeichen den normalen Text eingeben, ' danach die gewünschte arithmetischen Operatoren eingeben ' Division mit / für ein korrektes Ergebnis mit Komma stellen WScript.Echo "9\4= " & 9\4 ' In den Anführungszeichen den normalen Text eingeben, ' danach die gewünschte arithmetischen Operatoren eingeben ' Division mit \ für ein gerundetes Ergebnis ohne Komma stellen WScript.Quit ' Dieser Befehl beendet das Script. So das wars fürs Erste bei Fragen: award_sw@batznet.com (c) 2004 http://www.batznet.com