17. September 2009

Flash Player Updater

Wie ich in diesem Artikel bereits schrieb, ist der Updater von Adobe nicht wirklich gelungen. Daher habe ich dieses Programm gemacht.

Malware-Hinweis
Es gibt Webseiten, die als Flash Player getarnte Schadprogramme verbreiten. Daher der Hinweis: Dieses Programm ist im Quellcode einsehbar. Wenn man mit der rechten Maustaste auf das Programm klickt und "Bearbeiten" wählt, kann man den Quellcode ansehen.

Beschreibung
Das Programm FlashPlayerUpdater.vbs liest die Version aus den installierten Flash Player Plugins aus. Dazu muss kein Web-Browser gestartet sein. Dann wird die neueste Version über das Internet von Adobe abgefragt. Wenn es eine Aktualisierung gibt, wird dem Benutzer dies angezeigt und die Installation angeboten.

Dieses Programm installiert nicht das Adobe Flash Player Plugin/ Control. Nur das bereits vorhandene Aktualisierungsprogramm wird bei Bedarf gestartet.

Funktionen

  • Getestet unter Windows XP / Windows Vista 32-Bit. 64-Bit-Versionen werden nicht unterstützt - dafür gibt es auch kein Flash Player.
  • Mehrsprachig.
  • Unterstützt Flash Player Plugin / Control für ActiveX (Internet Explorer) und NPAPI (Firefox).
  • Browser-Erkennung - fordert den Benutzer auf den Web-Browser zu schließen um das Update durchzuführen.
  • Event Log wird benutzt.
  • Unterstützt den Kommandozeilen-Parameter /S. Damit wird kein Fenster angezeigt wenn es kein Update gibt. Mit diesem Parameter kann man das Programm stündlich aufrufen lassen um nach Updates zu suchen. Ohne den Parameter wird jedes mal angezeigt, dass es kein Update gibt.

Fehler/ Probleme
  • Nur Version 10 des Flash Players wird unterstützt. Grund: Ein Update von Version 9 auf 10 ist nicht möglich. Der Updater bietet das Update zwar an, es funktioniert aber nicht. Außerdem gab es in Version 8 noch keinen Updater für die NPAPI-Version. Die DLL wurde einfach in das Plugin-Verzeichnis des Browsers gekippt. Selbst wenn ich die gesamte Festplatte nach der DLL durchsuchen würde, könnte ich kein Update anbieten. Die DLL muss von Hand gelöscht werden und die neueste Version von Adobes Website installiert werden.
  • Der Web-Browser Lunascape ist böse.

Download

http://novalee.gmxhome.de/FlashPlayerUpdater.zip

Hinweis: Wenn Adobe eine neue Version herausbringt, wird die Kontrolldatei auf ihrem Server erst Stunden nach der Veröffentlichung aktualisiert. Daher meldet der Updater die neue Version nicht sofort. Das ist kein Fehler im Programm, der Fehler liegt bei Adobe - was sonst. :-)


Links

16. September 2009

Rezept: Nudelsalat Typ H

Für zwei Personen.


Zutaten
Nudeln (250g, bunte)
Einfarbige Nudeln sind technisch möglich, bunte sehen aber besser aus.
Erbsen (ca. 120g)
Tiefgefrorene sind besser als aus der Dose (würg).
Karotten (2 Stück)
Paprika (1-2 Stück)
Fenchel (ein kleiner)
Gekochter Schinken (80g)
Miracel Whip So leicht oder Balance
Sojasauce
Das Gute O

Zubereitung
  • Nudeln kochen (Überraschung).
  • Karotte, Paprika und Fenchel ziemlich klein schneiden.
  • In der Pfanne/ Wok in reichlich Olivenöl andünsten (5-7 Minuten) mit Deckel.
  • Schinken nicht zu klein schneiden, ab in den Wok.
  • Etwas Sojasauce drüber (ein Esslöffel).
  • Erbsen auftauen/ erhitzen (schlauerweise im Nudelwasser).
  • Alles in den Wok/ eine Schüssel und Miracel Whip dazu (ein halbes kleines Glas, d.h. zwei gehäufte Esslöffel oder so).

Tip: Kann man auch kalt essen.

14. September 2009

Rezept: Tagliatelle Tofunese (vegan)

So ähnlich wie Spaghetti Bolognese, nur mit Tofu und Sojasauce und Tagliatelle, also neo-klassisch Italienisch.
Vorsicht: Den Namen habe ich patentiert.
Für zwei Personen (eine davon hungrig).
Dauert ca. 1/2 Stunde.


Zutaten
Tagliatelle 250g
Provamel Bio Tofu Gehacktes 180g
Zur Not tut es auch Hackfleisch.
Tomaten (3 Stück, schöne reife)
Tomatenstücke in der Dose (1/2 Dose)
Tomatenmark
Karotte (Mittelgroß)
Sellerie (Stange, 1-2 Stück)
Zwiebeln (2 Stück)
Olivenöl
Sojasauce
Provamel Bio Soya Cuisine
Ich arbeite echt nicht für die. Zur Not tut es auch Creme Fraiche oder Sahne oder so was.
Gewürze (Oregano, Basilikum, Majoran, Rosmarin und Thymian)
Basilikumblätter zum dekorieren
Knoblauch
Salz
Pfeffer


Zubereitung
  • Wasser aufsetzen (reichlich, Tagliatelle sind voluminös und wir brauchen es um die Tomaten zu häuten).
  • Sellerie sehr klein schneiden (Hinweis:  Eine Stange heißt nicht eine Pflanze, sondern von einer Pflanze eine Stange).
  • Karotte kleinschneiden (ziemlich klein).
  • Zwiebeln kleinschneiden (dito).
  • 1/2 Dose gehackte Tomaten in eine Schüssel tun, etwas Tomatenmark dazu und Wasser oder Gemüsebrühe. Dazu Oregano (reichlich), Basilikum (nicht zu wenig), Majoran, Rosmarin (wenig), Thymian (wenig), Salz und Pfeffer geben und verrühren.
  • In der Pfanne/ Wok/ Skänka Olivenöl erhitzen (wie immer nicht mit dem Öl sparen).
  • Zwischenzeitlich bei den Tomaten den Stunk rausschneiden und oben kreuzweise einritzen.
  • Wenn das Nudelwasser kocht, die Tomaten zwei Minuten reinlegen.
  • Dann rausnehmen und mit kaltem Wasser abspülen.
  • Dann die Nudeln ins kochende Wasser geben.
  • Bei den Tomaten die Haut abziehen. Zwei Tomaten kleinschneiden (nicht zu klein).
  • Eine gehäutete Tomate in Scheiben schneiden, zum dekorieren verwenden.
  • Sellerie ca. 5 Minuten im Wok schmoren (Deckel drauf, wenn vorhanden).
  • Karotte dazugeben, ein paar Minuten erhitzen.
  • Sellerie und Karotte zur Seite schieben und Zwiebeln mit nicht zu wenig Salz und Knoblauch anbraten (ein paar Minuten).
  • Tofu Gehacktes dazugeben, kurz anbraten. Bei der Gelegenheit noch reichlich vom guten Olivenöl dazukipppen. Gut umrühren.
  • Tomaten-Gemisch und die kleingeschnittenen Tomaten dazugeben, wenn es zu fest ist noch etwas Wasser/ Gemüsebrühe.
  • Sojasauce, ca. 1-2 Esslöffel. Gut umrühren.
  • Fertige Nudeln abtropfen lassen und in den Wok kippen.
  • Provamel Bio Soya Cuisine dazu, ca. 2 Esslöffel.
  • Alles gründlich umrühren. Ein stabiler Bratenwender bietet sich an.
  • Nach Bedarf mit Basilikumblättern und der Tomate garnieren.

Hinweis: Tofu nicht stundenlang köcheln lassen wie bei Hackfleisch üblich.

13. September 2009

Rezept: Nudeln mit Tomaten (vegan)

Für zwei Personen (eine davon verfressen).
Geklaut inspiriert von Jamie Oliver.


Zutaten
Nudeln (Fusilli) 250-300g
Tip: Bio-Fusilli gibt es günstig bei Rewe.
Tomaten 8-12 Stück
Ich nehme nur Bio-Tomaten aus dem Bioladen
Olivenöl
Sojasauce (z.B. Kikkoman)
Essig (Balsamico-Art)
Knoblauch
Ich nehme immer diese Mühle mit "Knoblauchgranulat". Nicht die Empfehlung vom 37-Sterne-Koch, aber praktisch.
Oregano
Basilikum
Gefriergetrocknet ist besser als getrocknet. Hat schon mal jemand frischen Oregano im Supermarkt gesehen?
Salz
Pfeffer

Zubereitung
  • Tomaten in Scheiben schneiden.
  • In ein Standsieb legen. Salzen, salzen, salzen. Umrühren. Mehr salzen. Ich liebe Salz.
  • 10 Minuten herumliegen lassen, gelegentlich schütteln damit die Flüssigkeit abläuft.
  • Nudeln kochen.
  • Tomaten in eine Schüssel tun.
  • Oregano (reichlich) dazugeben und etwas Basilikum. Hinweis: Kräuter (besonders gefriergetrocknete) vor dem Öl dazugeben und etwas umrühren.
  • Olivenöl (ca. 8 Esslöffel). Ich liebe Olivenöl.
  • Essig (ca. 2 Esslöffel) oder Essig (ca. 1 Esslöffel) und Sojasauce (ca. 1 Esslöffel). Kann auch etwas mehr sein.
  • Knoblauch (nicht zu wenig, ca. 10x drehen wenn man diese Mühle hat).
  • Pfeffer (ca. 5x drehen).
  • Tomaten etwas umrühren und ziehen lassen.
  • Nudeln dazu kippen.
  • Umrühren und 5 Minuten ziehen lassen.

Tip: Man kann die Tomaten anstatt mit Nudeln auch mit Mozarella servieren.

12. September 2009

Über Adobe Flash Player (Teil 2: Update)

Funktionsweise des Adobe Flash Player Plugin Auto-Update (unter Windows)

Im ersten Teil haben wir gelernt was das Flash Player Plugin eigentlich ist. Jetzt sehen wir uns mal das etwas schwierige Update-System an.


Update konfigurieren
1. Settings Manager (siehe Bild)
Mit der rechten Maustaste (als Rechtshänder) auf irgendeine Flash-Werbung klicken, im Kontextmenü "Einstellungen..." wählen. Wenn der Dialog "Einstellungen für Adobe Flash Player" erscheint, auf das blaue Fragezeichen rechts oben klicken. Hinweis: Wenn die Flash-Animation zu klein ist, erscheint das Fenster nicht.

Auf der Webseite, die jetzt kommt, links unter "Table of Contents" auf "Global Notifications Settings Panel" klicken. Dann sollte der Dialog wie im Bild erscheinen. Dort kann man einstellen, wie oft Updates (Aktualisierungen) gesucht werden sollen.

Nachteil: Im Settings Manager kann man nur 60, 30, 14 oder 7 Tage auswählen.



2. Config-Datei
Das Plugin / Control sucht nach einer Datei mit dem Namen mms.cfg in folgenden Verzeichnissen:

  • Windows: \Windows\System32\Macromed\Flash
  • Macintosh: /Library/Application Support/Macromedia
  • Linux: /etc/adobe/

In dieser Textdatei kann man diverse Dinge einstellen. Details siehe Flash Player Administration Guide unter Links. Interessant ist hier vor allem der Eintrag

AutoUpdateInterval = 1

Damit sucht das Plugin / Control jeden Tag nach Updates.

Wichtig: Wenn im Settings Manager das Häkchen "Wenn Sie diese Einstellung aktivieren..." im Dialog oben nicht gesetzt ist, wird auch AutoUpdateInterval in der mms.cfg-Datei ignoriert. Das Häkchen ist standardmäßig gesetzt.

Wie geht jetzt das Update?
Das Plugin versucht eine Datei zu erzeugen und einen Wert in die Registry zu schreiben:

C:\WINDOWS\system32\Macromed\Flash\testUpdate.txt
HKLM\SOFTWARE\Macromedia\FlashPlayer\AutoUpdateTest

Beides erfordert normalerweise Administrator-Rechte. Wenn das nicht funktioniert wird kein Update durchgeführt. Die Datei wird wieder gelöscht.

Dann lädt das Plugin die neueste Versionsnummer aus dem Internet.

Wenn ein Update verfügbar ist, installiert das Plugin einen "Runonce" in der Registry (HKCU-Zweig). Ein Runonce ist ein besonderer Autostart. Beim Start des Systems wird der Eintrag einmal ausgeführt und dann gelöscht.

Dieser Runonce startet das Update-Programm von Flash Player. Der NPAPI-Updater heißt NPSWF32_FlashUtil.exe. Der ActiveX-Updater heißt FlashUtil10b.exe oder so. Der genaue Dateiname des ActiveX-Updaters hängt von der Versionsnummer ab.

Der Updater lädt (für die NPAPI-Version) die Datei fpdownload2.macromedia.com/get/flashplayer/update/current/install/install_all_win_pl_sgn.z.
Diese Datei ist offensichtlich komprimiert. Die Methode ist mir nicht bekannt (es ist nicht compress[1]). Sachdienliche Hinweise bitte an mich.


Nachteile des Update-Systems
Das Update-System hat einen verheerenden Konstruktionsfehler: Wenn ein Update gefunden wird, wird keine Meldung ausgegeben und nichts installiert. Erst wenn der  Benutzer mit Admin-Rechten sich nach dem nächsten Neustart wieder anmeldet wird das Update angezeigt.

Das ist offensichtlich problematisch, wenn der Computer nicht täglich einen Neustart macht - oder wenn der Benutzer nicht Admin ist.

Richtig krank daran ist, dass ein Neustart technisch nicht nötig ist. Es reicht den Browser zu beenden und das Update-Programm zu starten. Die neue Version wird sofort aktiv.

Da das Update-System teilweise im Flash Player Plugin eingebaut ist, funktioniert es logischweise nur wenn man es benutzt. Wenn man zum Beispiel Firefox oder Opera benutzt (NPAPI) wird man nicht auf Updates des ActiveX-Controls aufmerksam gemacht.

Nur als Administrator
Ein anderer Nachteil des Update-Systems ist, dass es nur funktioniert wenn man den Webbrowser als Administrator benutzt. Mit ein paar Tricks funktioniert es auch als eingeschränkter Benutzer. Wenn man dem Benutzer Schreibrechte auf die Testdatei und den Registry-Wert (siehe oben) gibt, wird der Runonce auch für eingeschränkte Benutzer angelegt. Allerdings funktioniert das Update-Programm selbst nur als Administrator. Mit dem äußert nützlichen SuRun kann man auch dieses Problem umgehen.


Idee zu einem besseren Update-Programm
Theoretisch sollte es möglich sein die Versionsnummer aus den Flash Player-DLLs auszulesen. Dann mit der aktuellen Versionsnummer aus dem XML-Dokument von Adobes Website vergleichen um bei Bedarf den Updater zu starten. Dieses Programm könnte man vom Taskplaner jede Stunde ausführen lassen, damit Updates sofort angezeigt werden - auch wenn man gerade kein Web-Browser benutzt.

Die gute Nachricht: Ich habe dieses Programm bereits geschrieben. Ich werde es in ein paar Tagen hochladen wenn ich es noch etwas debuggt habe.

Der beliebte Google-Werbeträger Firefox hat in der Version 3.5.3 eine Erkennung von veralteten Flash Player-Versionen. Genau genommen ist die Erkennung in der dazugehörigen Webseite eingebaut. In den Browser soll es erst in Version 3.6 wandern.

Das ist zwar etwas schräg, aber besser als nichts. Zweifelhaft ist allerdings, ob die Leute das Update wirklich durchführen.

Demnächst schreibe ich noch mal was zu Flash Cookies (LSO).


Tip: Unter der Adresse http://www.adobe.com/software/flash/about/ kann man sich die Version des Plugins/ Controls anzeigen lassen. Diese Seite kann man auch im Kontextmenü des Plugins unter "Über Flash Player" aufrufen.


Links

11. September 2009

Über Adobe Flash Player (Teil 1: Blah blah)

Der allseits beliebte Video- und Werbebetrachter Flash Player von Adobe ist laut den vom Hersteller verbreiteten Statistiken auf fast jedem Rechner installiert (interessante Nebenbemerkung: Dieses SVG in der verlinkten Statistik ist ursprünglich u.a. von Adobe und sollte eigentlich ein Flash-Konkurrent werden).

Im zweiten Teil beschreibe ich das Update-System (und warum man es nicht verwenden sollte).

Aber erst mal ein paar allgemeine Bemerkungen, damit klar wird wovon ich hier überhaupt schreibe (der interessante Teil kommt danach).


Was ist Flash?
Adobe Flash ist ein ziemlich teures Programm um Animationen und im weitesten Sinne interaktive Anwendungen zu entwickeln. Mit Flash kann man Kurzfilme, Bildschirmschoner, Spiele, im Prinzip alles programmieren. Seine Kreation kann man anschließend "kompilieren" und mit dem Flash Player abspielen. Also: Flash macht die Animationen, Flash Player spielt sie ab.

Flash ist ursprünglich von irgendeiner Firma die von Macromedia aufgekauft wurde. Darum ist es als Macromedia Flash bekannt. Seit Adobe Macromedia aufgekauft hat logischerweise als Adobe Flash.


Flash Player
Der Flash Player ist ein kleines Programm, das kompilierte Flash-Anwendungen (Dateierweiterung SWF = Shockwave Flash / Small Web Format) abspielen kann. Viele Bildschirmschoner sind eigentlich der Flash Player und die kompilierte Anwendung in einer Exe-Datei. Man kann Flash Player bei Adobe kostenlos als Exe-Programm herunterladen. Macht aber keiner.

Üblicherweise verwendet man das Flash Player Plugin. Das ist wie der Flash Player, nur im Web-Browser eingebaut. Dadurch können Webseiten Flash-Anwendungen einbinden. Viele Leute bezeichnen das Flash Player Plugin fälschlicherweise als "Flash". Ich werde das Flash Player Plugin als "Plugin" bezeichnen.

Hinweis: Ex-Macromedia Shockwave Flash ist nicht Macromedia Shockwave. In den 90ern hat MM den Namen Shockwave für alles mögliche benutzt.


Was ist ein Web-Browser-Plugin?
Unter Windows gibt es zwei Technologien: Microsofts ActiveX und NPAPI (Netscape Plugin API). Um es kurz zu machen: ActiveX (die Technologie wird auch OLE/ COM genannt) ist 1000x leistungsfähiger aber im Prinzip genauso wie NPAPI. ActiveX Plugins werden normalerweise "Control" genannt. Man sagt also "das Flash Player Control". ActiveX wird von Internet Explorer verwendet. Netscape/Firefox/Opera verwenden (Überraschung) NPAPI.

Der Browser gibt die SWF-Datei (alias "Flash-Animation") an das Plugin. Dann reserviert der Browser eine Fläche auf dem Bildschirm und übergibt sie an das Plugin. Das Plugin zeichnet die SWF-Datei dann auf den Bildschirm innerhalb des Browser-Fensters, so dass es so aussieht als ob der Browser das SWF darstellen würde.

Das Plugin kann u.a. mit Javascript interagieren. So kann man manchmal durch rumklicken auf der Webseite beeinflussen was das Plugin macht.

So ein Plugin/Control ist technisch gesehen eine DLL (unter Windows) die vom Web-Browser geladen wird. Wenn der Browser auf einen bestimmten Inhalt trifft, für den sich das Plugin angemeldet hat, wird das Plugin gestartet. Die DLL mit dem ActiveX-Control trägt die Erweiterung OCX (ist aber ansonsten eine normale DLL).

Da ActiveX und NPAPI nicht kompatibel sind, gibt es vom Flash Player jeweils eine Version dafür.

Übrigens: NPAPI stammt von Adobe (lange bevor sie Macromedia aufgekauft haben) und ActiveX von Visual Basic.

Details siehe diese Wikipedia-Artikel:

Wer bis hierher gelesen hat, darf jetzt erst mal diesen Cartoon betrachten.

Adobe Flash Flasher


Was ist eine DLL?

Zu kompliziert für diesen Artikel (im Prinzip ein normales Exe-Programm ohne "Hauptprogramm").


Warum ist Flash Player ein Sicherheitsproblem?
Egal ob ActiveX oder Netscape Plugin, Flash Player läuft innerhalb des Web-Browsers und hat dessen Rechte.

Die in Windows Vista neu eingeführten Verbindlichkeitsstufen (Integrity Levels) werde ich jetzt mal weglassen, sonst muss ich den Artikel als Buch veröffentlichen. Da der Internet Explorer der einzige Browser ist, der dies unterstützt, interessiert mich das auch nicht wirklich.

Da eine DLL also im Prinzip ein normales Windows-Programm ist, kann Flash Player - als Administrator ausgeführt - machen was es will. Eine entsprechende Sicherheitslücke im Plugin bedeutet, dass jede Webseite mit jedem Besucher machen kann was sie will.


Grundlegende Sicherheitsregeln für das Flash Player Plugin/ Control
  1. Web-Browser (und damit das Flash Player Plugin/ Control) nicht als Administrator ausführen.
  2. Immer die neueste Version installieren.
  3. So was wie FlashBlock (für Firefox) installieren.

Das zweite ist leider schwierig. Wie wir im zweiten Teil (noch länger) sehen werden, ist das Update-System von Adobe äußert dämlich.


Links


Weiter in Teil 2.