- Visual Basic Encrypted
-
Visual Basic Script (kurz: VBScript oder VBS) ist eine von Microsoft entwickelte Skriptsprache. Sie ist eng verwandt mit Visual Basic (VB) und Visual Basic for Applications (VBA) und wird üblicherweise interpretiert.
Inhaltsverzeichnis
Anwendungsbereiche
VBS kann auf alle Component Object Model-Komponenten mit IDispatch-Schnittstelle zugreifen, die unter Windows verfügbar sind, insbesondere auf die Bibliotheken der Microsoft Office Programme, die Datenbanken wie Access und SQL-Server, auf andere Anwendungen und natürlich auf die Bibliotheken des Betriebssystems. In der Praxis ergeben sich für VBS drei Anwendungsbereiche:
Windows-Betriebssystem
Die Steuerung des Windows-Betriebssystems zur Automatisierung von Standardaufgaben ist mit eigenen Skripten über den Windows Scripting Host (WSH) möglich. Windows akzeptiert VBS vor allem innerhalb von *.VBS und *.WSF Dateien, die vom Windows Scripting Host (seit den Versionen 2000/ME) ausgeführt werden und innerhalb von *.HTA und *.CHM Dateien die vom Internet Explorer ausgeführt werden. VBS und WSF Dateien sind reine Textdateien, die nur über wenige Dialoge kommunizieren können. HTA und CHM Dateien sind HTML-Dateien die wie üblich eingesehen werden können. Innerhalb von WSF, HTA und CHM Dateien kann VBScript und JavaScript beliebig gemischt werden. Die HTA-Dateien sind HTML-Dateien, die mit VBS, JavaScript und den üblichen Elementen von HTML zu einem interaktiven Formular ausgebaut werden können. Bei CHM Dateien handelt es sich um Hilfedateien, die mit dem frei verfügbaren Helpcompiler aus üblichen HTML-Dateien kompiliert werden.
Browser (Client-seitiges VBS)
In Webseiten wird VBS eingebettet, um den Browser auf der Client-Seite zu steuern (d. h. der Browser führt VBS aus). Damit konkurriert VBS mit Netscapes JavaScript, kann also für dynamische Inhalte benutzt werden und ganze Programme in eine Webseite integrieren.
Auf der Client-Seite konnte sich VBScript bislang nicht durchsetzen, da es direkt nur von Microsofts Internet Explorer unterstützt wird (mit Plug-Ins auch von Mozilla), während JavaScript von allen Browsern unterstützt wird. Im Internet Explorer verwenden JavaScript und VBScript ähnliche Sicherheitsmodelle und können -theoretisch- nur eingeschränkt auf Objekte des Betriebssystems zugreifen.
Webserver (Server-seitiges VBS)
Für Server unter Windows ist VBS ein integraler Bestandteil von Microsofts ASP (Active Server Pages) und steht damit in Konkurrenz zu Konzepten wie PHP. Der VBS-Code wird hier in eine HTML-Seite integriert, die mit der Dateiendung ASP versehen ist. Der Webserver-Dienst Internet Information Services (Bestandteil von Windows Serverinstallationen, konkurrierendes Produkt ist beispielsweise der freie Apache Webserver), führt die ASP-Seite wie ein Programm auf dem Server aus und liefert das Ergebnis als HTML an den Browser des Besuchers aus. Auf diese Art kann z. B. eine Datenbankabfrage gesteuert werden, deren Ergebnis der Server in eine HTML-Datei ausgibt.
Sprache
Vorteile
Die wichtigsten Vorteile der Sprache sind:
- Geringe Dateigröße, da die Sprache vom Betriebssystem oder vom Browser interpretiert wird.
- In den Grundzügen ist VBS den Sprachen Visual Basic (VB) und VBA ähnlich, so dass mit entsprechenden Vorkenntnissen ein leichterer Einstieg möglich ist
- Verfügbar auf allen Windows-Betriebssystemen ab 2000/98SE (mit IE 4 auch ab Windows 95)
- Zugriff auf andere Anwendungen und installierte Komponenten (insbesondere Microsoft-Office-Programme) und deren Objekte
Nachteile
Zu den Nachteilen gehören:
- Microsoft Script Debugger als Standardeditor und Alternativen wie VB Control Creation Kit sind schlecht akzeptiert.
- Keine Abschottung des Betriebssystems gegen VBS-Programme mit Schadfunktionen. Ein VBScript wird wie jedes andere Windows-Programm ohne Prüfung auf Schadfunktionen ausgeführt, daher...
- ...kann VBS inzwischen nicht mehr als E-Mail-Anhang versendet werden, da es selbst von Microsoft Outlook als Anhang blockiert wird und der Empfänger keine einfache Möglichkeit mehr hat, darauf zuzugreifen (siehe ILOVEYOU-Virus).
- Geringe Verbreitung außerhalb von Microsoft-Produkten
- Inkompatibilität mit anderen Betriebssystemen
Merkmale
- Gegenüber Visual Basic (VB) und Visual Basic for Applications (VBA) kennt VBS keine Typisierung der Daten, es gibt nur den Datentyp Variant, der in sich alle anderen Typen speichern kann.
- Der Funktionsumfang ist gegenüber VBA weiter reduziert.
- Klassen können erstellt werden.
- Wie bei JavaScript wird der Quelltext vom Scripting Host automatisch ab der ersten Zeile und so lange abgearbeitet, bis er auf eine funktionelle oder prozedurale Anweisung trifft. Eine spezielle Kennzeichnung des automatisch startenden Programmteils am Anfang, wie z. B. in C mit 'int main()', führt dazu, dass nichts ausgeführt wird.
Schreibweise
Ein VBScript sieht in seiner einfachsten Form so aus:
MsgBox "Inhalt des Fensters",0,"Name des Fensters"
Zu beachten ist lediglich, dass das
,0,
über das Aussehen des entstehenden Fensters entscheidet.:- 0=OK-Fenster
- 1=OK; Abbrechen -Fenster
- 2=Abbrechen; Wiederholen; Ignorieren -Fenster
- 3=Ja; Nein; Abbrechen -Fenster
- 4=Ja; Nein -Fenster
- 5=Wiederholen; Abbrechen -Fenster
- 16=Anzeigen des Stopp-Symbols
- 32=Anzeigen des Fragezeichen-Symbols
- 48=Anzeigen des Symbols Warnung
- 64=Anzeigen des Symbols Information
Wird dieser Code beispielsweise mit dem in Windows enthaltenen "Editor" in eine Textdatei mit der Endung *.vbs gespeichert, genügt ein Doppelklick zur Ausführung.
Sicherheit
Nachdem sich Microsoft dazu entschlossen hatte, innerhalb von Microsoft Outlook und Outlook Express auch VBScript als Bestandteil von HTML-Mails zuzulassen, haben sich zahlreiche Viren – unter Ausnutzung der anfänglich unzureichend geschützten Schnittstelle zu ActiveX-Steuerelementen – über diese Applikationen verbreitet.
Ein Schutz des eigenen Codes gegen Einsichtnahme ist nur in geringem Maße möglich. Um der Einsichtnahme des Quellcodes entgegenzuwirken, kann man Visual Basic Scripts entweder mittels MS Script Encoder[1] oder mittels ActiveX-Steuerelement ("Scripting.Encoder"-Objekt) verschlüsseln (Visual Basic Encrypted, *.VBE).
Weblinks
- MSDN Scripting: Microsoft Windows Script Center und Referenzen
- dieseyer.de: Informative Seite zur Nutzung von VBS mit vielen Beispielen und Erklärungen
- Ralph Steyer, Webscripting unter Windows Referenz und Praxis, Markt und Technik 2000, ISBN 3-8272-5576-7]
- ArsTechnica.de: Beispiele für die Automatisierung mit VB Skripts
- (en)Microsoft(R) TechNet Scripting: Scripting Center mit Anleitungen
- fpschultze.de: Scripting Site mit vielen Beispielen
- HTMLWorld: Einführung in VBScript
- groebensoft.de: VBScript Sammlung
- winforpro.com: Scripting-Guide und zahlreiche VBS-Scripts
- VBScript Library scriptbox.at.tt: VBScript Bibliothek mit tausenden Beispielen
- www-script-example.com VBScript: Einführung und Beispiele zu VBScript
Einzelnachweise
Wikimedia Foundation.