- Autorun
-
Autorun ist die Funktion von Microsoft Windows, Datenspeicher automatisch zu durchsuchen und Dateien automatisch zu öffnen beziehungsweise auszuführen, sobald die Datenträger für das Betriebssystem verfügbar sind. Dadurch kann beispielsweise beim Einlegen einer CD oder DVD automatisch ein Installationsprogramm starten. Für Dateien auf Disketten und in Rechnernetzen war die Funktion zunächst gesperrt.[1]
Inhaltsverzeichnis
Microsoft Windows
Windows sucht im Stammverzeichnis des Datenspeichers nach eindeutigen Informationen über dessen zugedachten Verwendungszweck. Dazu kann eine bekannte Dateinamenserweiterung dienen oder eine Datei mit dem Namen autorun.inf. In einer solchen Datei wird ausdrücklich festgelegt, wie das System verfahren soll.
Sicherheitsaspekte
Der Autostartmodus birgt ein Sicherheitsrisiko. Durch ihn können völlig unbemerkt Schadprogramme installiert werden. Dieses Szenario ist nicht auf USB-Sticks und andere beschreibbare mobile Datenspeicher beschränkt, die zum Datenaustausch mit verschiedensten Computern verbunden werden. Selbst scheinbar harmlose Audio-CDs haben sich im Fall des Sony BMG-Kopierschutzskandals als gefährlich erwiesen.
Autorun kann in der Windows-Registry abgeschaltet oder eingeschränkt werden.[1] Außerdem kann Autorun durch Halten der Umschalttaste während des Verbindens mit dem Datenspeicher verhindert werden.
autorun.inf
Der Aufbau einer „autorun.inf”-Datei sieht wie folgt aus (Beispiel):
-
[AutoRun]
-
open=programm.exe
-
icon=programm.ico
-
action=Programm starten
Zeile 1 gibt an, dass dieses der auszuwertende Abschnitt der Autorun-Datei ist, Zeile 2 sagt aus, welche Programmdatei ausgeführt werden soll und Zeile 3 beschreibt, welches Icon für das sonst übliche Laufwerksicon benutzt werden soll. Werden keine Pfade angegeben, werden die Dateien im Hauptverzeichnis desselben Laufwerks erwartet. Es können auch relative Pfade verwendet werden. Die Option action generiert den Eintrag „Programm starten” in der ersten Zeile des AutoPlay-Auswahlfensters.
Mit folgender Zeile kann dem Datenträger ein Name zugewiesen werden:
label=Urlaubsbilder
Kontextmenü
Außerdem können zusätzliche Kontextmenüs (erscheinen üblicherweise durch Betätigen der rechten Maustaste) definiert werden. Dazu muss folgender Aufbau verwendet werden:
shell\Name1=Anzeige shell\Name1\command=Pfad\program.exe
Jedes Kontextmenü muss eine eigene eindeutige Bezeichnung haben. Die erste Zeile legt fest, welcher Text im Kontextmenü angezeigt werden soll, die zweite Zeile enthält das zu startende Programm.
shell=
Name-n
legt fest, welche Bezeichnung die Standard-Aktivität sein soll – die vollautomatisch oder durch einen Doppelklick auf das Laufwerksymbol gestartet werden soll.
shell=Kontext-Standard bekommt offenbar Vorrang vor dem älteren open/shellexecute. Beide Varianten können gleichzeitig angegeben werden. Dann sollte jedoch die Beschriftung von shell\Kontext-Standard= und action= sowie die resultierende Wirkung gleich sein, um Nutzer nicht durch unterschiedliches Verhalten auf verschiedenen Systemen zu verwirren.
Hotkey
Wie bei anderen Menüs in Microsoft Windows auch lassen sich Hotkeys definieren. Dabei wird dem gewünschten Kennbuchstaben ein & vorangestellt. Bei der Auswahlanzeige wird dieser Buchstabe dann unterstrichen dargestellt und das Menüfeld kann durch Eingabe dieses Buchstabens auf der Tastatur ausgewählt und das Programm unmittelbar gestartet werden.
shell\view=A&nzeige shell\view\command=Pfad\viewer.exe shell\info=&Info shell\info\command=Pfad\info.exe
sorgt dafür, dass beim Drücken von n der erste Eintrag und bei Drücken des i der zweite Befehl gestartet wird. Mehrere Befehle mit gleichem HotKey in diesem Kontextmenü sollten vermieden werden; das Verhalten ist dann nicht vorhersagbar und es könnte zu unerwünschter Programmausführung kommen.
Nicht-ausführbare Dateien (Dokumente)
Oft sollen HTML-Dateien angezeigt werden – jedoch mit dem Standardbrowser des momentanen Benutzers und nicht zwangsläufig mit open=iexplore.exe index.htm (Microsoft Windows Internet Explorer). Auch Audio/Video-Dateien sollen mit dem Standardplayer des gerade benutzten PC abgespielt werden; das ist nicht immer der Windows Media Player – der bei Windows XP mplay32.exe hieß und inzwischen als wmplayer.exe anzugeben wäre.
shellexecute=
MySlides.ppt [Parameter]
startet die angegebene Powerpoint-Präsentation, ohne dass beim Herstellen des Datenträgers bekannt sein muss, welcher Version welchen Office-Paketes unter welchem Betriebssystem auf dem später benutzten Rechner die Dateiendung ppt zugeordnet ist, wie beispielsweise die EXE-Datei heißt und in welchem Pfad sie zu suchen wäre.
Hinweis: open erhält Vorrang vor shellexecute – es kann nur einen Befehl geben.
Das command im Kontextmenü ist wie auch open immer auf eine ausführbare Datei (EXE, CMD, BAT) angewiesen. Um das zu erreichen, gibt es folgende Möglichkeiten:
- Funktioniert mit allen Dokumenten, nicht nur solche für den Browser. Der Datei-Typ muss dem Benutzer aber unbedingt schon bekannt sein.
- (Schrägstriche „Normal“ im Pfad; file: entspricht dem „http://“ und muss dem Pfad vorangestellt werden)
- shell\RunDLL=Standardbrowser
- shell\RunDLL\command=RunDLL32.exe url.dll,FileProtocolHandler file:README/survey.html
- Weil auf Doppelklick etwas anderes kommt, kann man noch ein Verzeichnis anbieten:
- shell\Explorer=Explorer Benutzerdaten
- shell\Explorer\command=Explorer.exe /e, Benutzerdaten\
- Programm zum Öffnen von „multimedia.xyz“ anbieten, ggf. auswählen:
- shell\openwith=ShockFlashZoing
- shell\openwith\command=RunDLL32.exe shell32.dll,OpenAs_RunDLL multimedia.xyz
- Mit aufflackerndem Konsolenbildschirm dazwischen, nicht so schön:
- shell\CMD=Kommandozeileninterpreter
- shell\CMD\command=cmd.exe /c start index_DieseDVD.html
- Standard-Aktion festlegen:
- shell=RunDLL
Festplatten
Es lassen sich nicht nur Wechselmedien, sondern auch Festplatten mit autorun.inf ausstatten. Damit wären Icons auf dem „Arbeitsplatz“ darzustellen, also beispielsweise ein auffallendes Symbol für die Systempartition C: und andere dagegen zur Charakterisierung von Datenpartitionen sowie freigegebener Ordner im Netzwerk.
Diese erscheinen auch, wenn Ordner zur Abspeicherung angeboten werden, erleichtern damit die schnelle Orientierung und vermeiden eine Auswahl des falschen Ordners.
Auch Aktionen (Doppelklick und Kontextmenü im Arbeitsplatz) können genauso definiert werden; der label gewinnt meist die Oberhand über Partitions- und Freigabenamen.
Änderungen werden wirksam, wenn die Verbindung erfolgt bzw. der PC gebootet wird.
Bei Disketten wird autorun.inf allerdings nicht „von selbst“ Aktionen ausführen können.
Letzten Endes sind die autorun.inf (wie auch die desktop.ini) immer nur Hinweise (hints) für das Betriebssystem. Ob eine bestimmte Windows-Version dem folgen kann oder ob diese Funktionalitäten bewusst – beispielsweise aus Sicherheitsgründen – abgeschaltet sind, entscheidet sich im konkreten Einzelfall.
Andere Betriebssysteme
Die AutoRun-Datei ist im Klartext für andere Betriebssysteme (wie Linux oder Mac) lesbar. Mittlerweile ist die Erkennung der Microsoft-autorun.inf oft schon integriert. Zumindest sind Werkzeuge vorhanden, die auf das Einlegen eines Mediums hin nach einer autorun.inf-Datei suchen, ihren Abschnitt [AutoRun] lesen und je nach Wunsch reagieren; entsprechende Skripte können leicht neu geschrieben werden.
Dazu eignen sich insbesondere die neutralen Einträge
- label=
- icon=
- shellexecute=
MSWindows-Icon-Dateien haben ein altbekanntes, einfaches Format, das andere Betriebssysteme meist problemlos anzeigen oder vorübergehend geeignet konvertieren können. Hier ist eine einzelne .ICO-Datei zu verwenden, kein Abschnitt aus einer .EXE oder .DLL.
Auf shellexecute hin wäre, sofern er bekannt ist, der entsprechende Dateityp zu öffnen; Dokumentenformate wie HTML, TXT, PDF, Multimedia, DOC oder DOCX sind hier aussichtsreich.
Diese Dateien sollten sicherheitshalber im Hauptverzeichnis des Mediums stehen, da ein fremdes Betriebssystem Schwierigkeiten mit dem Pfadtrennzeichen
\
haben könnte (es wird/
erwartet) – gute Programmierer wissen das allerdings und schreiben den Pfad geeignet um.Es ist jedoch ohnehin empfehlenswert, dass im Hauptverzeichnis stets ein README/LIESMICH, index.html oder Ähnliches vorhanden ist, wenn der Datenträger in andere Hände gegeben wird – so dass das Medium leicht „von Hand“ gelesen werden kann, wenn Probleme mit Auto-Optionen auftreten oder unbekannte Automatismen unerwünscht sind.
Siehe auch
Weblinks
- MSDN:
- Autorun für andere Maschinen (engl.)
- USB Drive AutoRun.inf Tweaking
- USB-AutoRun ohne AutoRun.inf – auf eigene Verantwortung
Einzelnachweise
- ↑ a b Deaktivieren der Autorun-Funktionalität in Windows. Microsoft. Abgerufen am 27. August 2010.
-
Wikimedia Foundation.