Dual-Monitor-Flash-Player-Vollbild-Hack


Hui, eigentlich dachte ich ja, daß ich meinen bindestrichlastigen Post-Titel „Live-Ajax-PHP-Regex-Tester“ nicht mehr toppen könnte, aber hiermit ist es nun doch geschehen. Sieht ja schon irgendwie komisch aus, ist aber tatsächlich die korrekte Schreibweise.

Aber zum Thema: Jeder, der zwei Monitore an seinen PC angeschlossen hat, wird wahrscheinlich öfter mal auf dem einen einen Film laufen lassen, während er mit dem anderen weiter am Rechner arbeitet. Das klappt ja mit Video-Playern normalerweise auch problemlos. Möchte man sich aber online einen Flash-Stream ansehen, steht man vor einem Problem: Man schiebt das Fenster rüber auf den zweiten Monitor, klickt auf „Vollbild“ und freut sich – doch sobald man auf seinem Hauptmonitor irgendein anderes Fenster in den Fokus nimmt, verkleinert sich der Flash-Film auf Monitor 2 wieder auf Normalgröße. Ja, wie doof ist das denn bitte?

Update (16. Dezember 2010)

Volker hat in den Kommentaren diesen FlashHacker gepostet, der die Änderungen automatisch vornehmen und auch wieder rückgängig machen kann. Wer also keine Lust auf das hexadezimale Gefummel hat, kann sich hiermit das Leben leichter machen.

Eine Lösung fand ich in oben gezeigtem Video:
Man öffnet die Datei C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll
bzw. bei einem 64-Bit-System C:\Windows\sysWOW64\Macromed\Flash\NPSWF32.dll
in einem Hex-Editor wie beispielsweise Hex-Editor MX.
Dann sucht man aus der untenstehenden Tabelle seine Flash-Version heraus, navigiert zu der entsprechenden Adresse und ändert den Wert wie angegeben.

Um die Datei speichern zu können, muß man kurz alle Browserfenster schließen. Unter Windows Vista/7 muß man außerdem darauf achten, den Hex-Editor als Administrator zu starten, damit man die .dll-Datei bearbeiten und speichern kann. Falls man zur Sicherheit ein Backup der .dll gemacht hat, sollte man dieses aus dem Flash-Ordner rausschieben, da manche Browser wohl sonst dennoch die alte Version laden anstatt die neue bearbeitete.

Version Adresse Originalwert ändern zu
9.0.124.0, 10.0.1.28, 10.0.22.87, 10.0.32.18, 10.0.42.34 0x136340 74 EB
10.0.32.18 (alternativ) 0x137349 oder 0x137340 74 EB
10.0.45.2 0x137C7E 74 EB
10.1.82.76 0x180AAF 74 39 90 90
10.1.85.3 (32 bit) 0x180DB0 74 39 90 90
10.1.85.3 (64 bit) 0x180DA7 74 39 90 90
10.1.102.64 0x180E47 74 39 90 90

51 Antworten zu “Dual-Monitor-Flash-Player-Vollbild-Hack”

  1. Das mußt Du schon die Macher selber fragen. ;) Ich hab‘ da auch nicht sooo die Riesenahnung von. Ich weiß nur, daß man sowas durch sogenanntes „reverse engineering“ rausfindet, indem man also mithilfe spezieller Programme den Flash-Player in seine einzelnen Funktionen zerlegt. Dann muß man „nur noch“ die für das Vollbild zuständige Funktion finden und verändern. Ganz so einfach ist das zwar nicht, aber für einen „erfahrenen Hacker“ ist es wahrscheinlich eine Aufgabe von mittlerem Schwierigkeitsgrad. ;)

  2. Hmmm, na gut. Mit IDA Pro. o.ä. hätte ich das vielleicht auch geschafft. Die Grundzüge sind mir geläufig, allerdings steh ich nicht wirklich auf Assembler und hätte wahrscheinlich zuerst versucht den Quelltext via Greasemonkey zu manipulieren, so ist’s natürlich eleganter ;)

    Du machst mehr in Richtung Multimedia? Vielleicht auch zufällig Gamedesign in Flash?
    Naja, ich will Dir deinen Blog nicht mit OT zuspammen, meine Mailadresse hast Du ja nun…

    Schönen 2. Advent

    Grüße
    dokle

  3. Och, OT … weißt Du, mein ganzer Blog ist eigentlich OT. :D
    Mir geht’s da genauso wie Dir: Das „Disassemblen“ ist ja noch leicht, aber dann in der Masse dieser Low-Level-Anweisungen die richtige zu finden … Da hapert’s bei mir irgendwie mit der Geduld.

    Wegen Flash muß ich Dich enttäuschen – ich „kann“ das zwar, wenn für eine Website mal animationstechnisch was gebraucht wird, aber das war es dann auch wieder. :) Für Spiele und sowas bin ich da wohl bei weitem nicht professionell genug. Bin trotz Multimedia-Ausbildung mehr so der „trockene“ Programmierer-Typ. ;)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert