2番目のモニターでフルスクリーンフラッシュビデオを視聴し、最初のモニターで作業します

フラッシュ(youtubeなど)でビデオを全画面で見ると、フラッシュプレーヤーのインストールまたは更新後にシステムに表示されたいくつかのファイルにパッチを当てることで、フラッシュライブラリを修正するのに役立ついくつかの欠点があります。

短所:
1) (メイン)ムービー(またはアニメーション)のフルスクリーンフラッシュムービーは、ウィンドウがフォーカスを失うと最小化されます。 たとえば、ICQ、Skypeを別のモニターで、別のブラウザーウィンドウで、実行するか、別のプログラムに切り替える必要があります。展開されたフラッシュは容赦なく以前のサイズに折りたたまれます。
2) (これも不快なプロパティ)フルウィンドウに展開すると、ロボットの粘り強いフラッシュムービーが3〜4秒間同じフレーズを繰り返し、視聴を妨げる:「Escを押してフルスクリーンモードを終了」、ユーザーも忘れる記憶があります。
結果は、手動パッチのいくつかのルールの形式と、現在のバージョン10.1.85.3のフラッシュプレーヤーライブラリのパッチファイルのアーカイブの形式で表示されます。
1つのモニターを使用している場合でも、この場合にも2番目のパッチが役立ちます。

(UPD: 継続記事、バージョン10.1.102.64の場合、パッチを実行するための段階的な手法は説明されているものと同じです。フラッシュバージョンのファイルはアップロードされます。)

パッチプログラムまたは手作業によるコード編集など、医療外科的介入で治療されます。 HEXエディターを使用したため、時間をより効率的に使用するために、最初の問題と同時に2番目の問題を解決します。 フラッシュバージョンが更新され、フラッシュを改善するための以前のヒントは廃止されました。

パッチは、プレーヤーが更新されるたびに更新および適用する必要があります。 プレーヤーの将来のバージョンでは、現在Windowsで利用可能なパッチプログラムが機能しなくなる可能性があるため、パッチを構築する方法と本質を以下に説明します。 Linuxの場合は、上記の手動の手法を使用するか、独自の方法を作成する必要があります。

既製のハックを使用します(Windowsおよび一部のブラウザー用の不完全なソリューション)


フラッシュv.10.1.53.64用に設計された2010年6月の最新バージョンのハッキングプログラムFlashHacker.zip [2]は、現在のバージョン10.1.85.3(2010年9月中旬以降)で正常に動作します。添付コードのアルゴリズムは、ファイル内の11バイト文字列のバイトのペアを検索して、次の文字列に置き換えます:\ WINDOWS \ system32 \ Macromed \ Flash \ NPSWF32.dllまたはWindows 7の同様のもの

残念ながら、ここで勝利の報告​​が終わります。 さらに、プログラムは、Chrome 6バージョンとVistaのOperaのライブラリ(「%PROGRAMFILES(X86)%)」を見つけようとしますが、IEのFlash10.ocxにパッチを当てようとしません。 6,7には、同じ作者のDrizzlyChrome.zipという別のプログラムがあります。他の人は、あなたの手で行動しなければなりません。

このプログラムにはいくつかの制限があります。Windowsでのみ動作し、.NET 3.5 Frameworkが必要であり、その動作原理を説明していません。 記事の冒頭で設定された2つのタスクのうち最初のタスクのみを解決します。

他の場所[8]では、 Visual CとQtの厳しいプログラマーが、オープンソースとアクセス可能なSVNを使用して同様のパッチを作成します。 IgnoFlash-1.3.1.zip、4.0 MB。 IEの問題は長い間解決されています。 アプローチはより深刻に見えます。



フラッシュライブラリファイルの手動ハッキング


他のハッカーのイニシアチブに依存せずに、新しいバージョンのフラッシュ、ブラウザ、OSで同じことを行うために、より深いレベルに移動しましょう。 これは私たちの前に部分的に明らかにされたので、記事[4]からの説明を引用するだけです。

このハッキングの本質は、フラッシュライブラリにコードが見つかることです。これは、擬似コードでは次のようになります。
if (msg == WM_KILLFOCUS)
jump to kill_focus
if (msg == WM_PAINT)
jump to paint
そしてコードに作り直しました
if (msg == WM_KILLFOCUS)
nop
if (msg == WM_PAINT)
jump to paint
たとえば、フラッシュバージョン10.1.53.64(および10.1.85.3)の場合、周囲のコードは次のようになります。

74 39 83 E8 07 74 11 83 E8 05 75 13 8B

将来のバージョンでは、一部のバイトが変更される可能性がありますが、値74、74、および75(コマンドコード)は変更されないままになる可能性があります(IEの場合、これはそれほどそうではありません)。 見つかった領域で、2バイトの74 39を90 90に置き換え、ブラウザを起動して結果を確認します。 (引用の終わり。)
合計、 IE除くすべてのブラウザールール :NPSWF32.dll v.10.1.85.3またはgcswf32.dll(このファイルがある場所、以下で説明)の行に「74 39 83 E8 07 74 11 83 E8 05 75 13 8B」という行があります。 、「90 90 83 E8 07 74 11 83 E8 05 75 13 8B」に置き換えます。

幻影のFlashライブラリ


目的のフラッシュライブラリファイルを見つける方法 これはもっと楽しいです-さまざまなブラウザの複数のインストールに存在し、システムのさまざまな場所に保存されます(上記を参照)。

ファイルの作成日は常に正しいとは限りません。 たとえば、NPSWF32.dll v.10.1.85.3の日付は2010年1月27日です(実際、ファイルバージョンは2010年9月中旬のものです)。

このブラウザでファイルが使用されているかどうかを判断するには、 Unlockerユーティリティが役立ちます。ブラウザを開き、このブラウザによってファイルがロックされているかどうかを確認します。

ブラウザのFirefox、Safari(5)、および WinXP(x32)のOperaは、標準の場所にあるライブラリを使用します:\ WINDOWS \ system32 \ Macromed \ Flash \ NPSWF32.dll。

Chrome-にあるライブラリを使用します
D:\ Documents and Settings \ <ユーザー名> \ Local Settings \ Application Data \ Google \ Chrome \ Application \ <7.0.517.41> \ gcswf32.dll。

Win 7のOperaは、おそらく(ハックプログラムによる判断)「%PROGRAMFILES(X86)%\ Opera \ program \ plugins \ NPSWF32.dllのライブラリを使用します。

IE -ActiveXライブラリを標準の場所で使用します。
with:\ WINDOWS \ system32 \ Macromed \ Flash \ Flash10 <k> .ocx
Metabukva <k>-ライブラリのバージョンによって異なります。 v.10.1.85.3の場合<k> = "k"。

ちなみに、これはどこでも使用されていなくても、このWinXPのコピーがシステムで動作していなくても、システムに保持されている有名なファイルです。 幸いなことに、Unlockerの最新バージョンで処理できます。 修正するには、ファイルをシステムの別の場所にコピーし、「読み取り専用」記号を削除して修正し、古い場所のファイルを削除し、修正したファイルを古い場所に配置する必要があります。

あるブラウザに新しいバージョンのフラッシュをインストールしても、別のブラウザにインストールするわけではありません。 したがって、誰もが新しいバージョンのフラッシュをインストールするときのdeja vuの感覚をよく知っています。 そして正常に完了しました! 「。 実際、インストールはブラウザの1つのバージョンごとに2〜3回繰り返されます。 3〜5か月後、話が繰り返されます。 IE用プレーヤーの現在のバージョンの強制インストールは、アドレスfpdownload.adobe.com/get/flashplayer/current/install_flash_player_ax.exeから実行されます。

合計すると、さまざまなブラウザーについて、ブラウザーで使用されている正確なファイルを修正または修正することを確認する必要があります。 ファイル名を置き換えるときに誤解がある場合があります。 たとえば、FirefoxはNPSWF32-1.dllという名前の名前が変更されたファイルを取得し、それを使用し始めました。 結論:実験の段階であっても、ファイルのコピーを別のディレクトリに保存することをお勧めします。

もちろん、Flash Playerの新しいバージョンがリリースされ、システム所有者がそれを更新すると、ライブラリファイルは消去されます。そのため、コピーしたパッチファイルを保存しても支障はありません(将来、新しいライブラリを一時的に置き換えるか、インストール手順で友人に提供することができます)。

Internet Explorerのパッチ


現時点では、インターネット上でIEをハックすることはなかったため、IDA ProにFlash10k.ocxで同様のコマンドチェーンを見つけさせ、不要な移行を「噛む」必要がありました。 実際、他のブラウザーでコマンドが短い2バイトの遷移でブロードキャストされた場合、このファイルには6バイトが含まれるため、目的のチェーンは私たちが知っていたものとは非常に異なっていました。 この図は、目的のコードのフラグメントを示しており、NOPシーケンスに変換する必要があるコマンドは丸で囲まれています。


または、ファイルFlash10k.ocxのx86アセンブラーコード:
.text:1018576A loc_1018576A: ; CODE XREF: sub_101856AF+B7j
.text:1018576A push ebx
.text:1018576B push eax
.text:1018576C lea ecx, [ebp+68h+var_D4]
.text:1018576F call sub_10387C40
.text:10185774 push esi
.text:10185775 lea ecx, [ebp+68h+var_70]
.text:10185778 call sub_10199257
.text:1018577D mov ecx, [esi+34h]
.text:10185780 mov edi, [ecx+44Ch]
.text:10185786 mov eax, [edi+24h]
.text:10185789 mov [ebp+68h+var_BC], eax
.text:1018578C mov eax, 111h
.text:10185791 cmp [ebp+68h+arg_4], eax
.text:10185794 ja loc_10185A32
.text:1018579A mov ecx, [ebp+68h+arg_4]
.text:1018579D cmp ecx, eax
.text:1018579F jz loc_101859F5
.text:101857A5 cmp ecx, 20h
.text:101857A8 ja loc_101858EE
.text:101857AE jz loc_101858B5
.text:101857B4 mov eax, ecx
.text:101857B6 sub eax, 5
.text:101857B9 jz loc_101858A9
.text:101857BF dec eax
.text:101857C0 dec eax
.text:101857C1 jz loc_1018588D
.text:101857C7 dec eax
.text:101857C8 jz loc_10185860
.text:101857CE sub eax, 7
.text:101857D1 jz short loc_101857DC
.text:101857D3 sub eax, 5
.text:101857D6 jnz loc_10185D11
合計、 ファイルFlash10k.ocx (v.10.1.85.3)のIEの場合、「00 48 0F 84 92 00 00 00 83 E8」(アドレス0x184bc6)を見つけて、「00 48 90 90 90 90 90 90 90 83 E8」に置き換える必要があります。

「Escキーを押して...」という碑文の修正


インターネットでは、この問題に対する議論と解決策のスレッドは1つしかありませんでした。 このような一般的な不便により、解決策を見つけて公開するのは1人だけである(そして、2人目が接続している)のは奇妙です。 彼らが言うことは次のとおりです。
Unity Web Playerに「Press esc」メッセージを無効にするために与えることができるパラメーターはありますか? フルスクリーン機能からの「esc」に問題はありません(自分のトグルに加えて)。スタンドアロンクライアントにはないので、webplayerにそのメッセージが表示されないようにします。
-「Press Esc ...」というメッセージを削除できるオプションはありますか?

いいえ、そのメッセージは、フルスクリーンの単一のWebプレーヤーがフィッシングなどに使用されるのを防ぐセキュリティ機能です。
表示されるのを防ぐ方法はありません。
これは本当に残念なことですが、Web用に開発する際に考慮しなければならないことの1つにすぎません。
-いいえ、これはWebプレーヤーをフィッシングなどから保護するためのセキュリティソリューションです。 ショーをブロックする方法はありません。 これは本当に迷惑ですが、Web開発の機能の1つです。
私たちはあきらめているものを知って、この意識的なフィッシング対策コードと戦います。 ビデオをフルスクリーンで展開するように提供する非常に巧妙なフィッシャーの準備をしますが、実際にはビデオだけでなく、銀行との決済の形でもあり、個人情報を入力して、フルスクリーンでそれを忘れますフラッシュがあります。 フィッシャーは、Escボタンに関する警告を再度読んでいないことを嬉しく思い、これがインターネットからのフラッシュであることを忘れてしまいます。

アプローチは[6]で実証されました。碑文を目に見えないようにし、その外観と戦わない(クロノマスターはゼロで埋めました )か、コードで短いリソースを記述します 。 手動で、2番目のアプローチでは、変更するデータが少ないため、選択します。 (これが2288バイト長のリソースの種類、つまり、画像またはそれより複雑なものは調べませんでした。どこでも機能することを確認しました。置換行は3つのライブラリすべてにあります。)
フラッシュライブラリv10.1.85.3の3つのファイルすべての警告を「Press Esc to ...」 (任意の言語で) 削除するには :NPSWF32.dll、gcswf32.dll、Flash10k.ocx行「43 57 53 08 60 10 00 00 78 9C 95 57 6B 70 13 D7 "に置き換えられます" 84 85 4E 2B 6D 76 4E AA 65 1D D9 83 07 D4 93 2E "。

詳細な説明は、現在のバージョンとは異なるフラッシュバージョンの今後の編集の可能性について書かれいます。 バージョン10.1.85.3がコンピューターにインストールされている場合、置換用の2つのパッチを含むライブラリーファイルをアーカイブから取得できます 。 注意! ファイルはロシアのインストールWinXPからコピーされます。 MD5チェックサム:
NPSWF32.dll-2791B3E6EA48D491B8B8926EE96BF862(5`969`360バイト);
gcswf32.dll-1466158D5E0D35CAD501BA663C9E4377(6`021`120バイト);
Flash10k.ocx-308987522024C66FAE39B5B85AA37055(6`069`712バイト)。
または、 バージョン10.1.102.64の新しいアーカイブ
ファイルを置き換える前に、ブラウザーウィンドウが閉じていること、およびコンピューターにインストールされているフラッシュプレーヤーのバージョンが3つのファイルすべてで10.1.85.3であることを確認してください。 そうでない場合は、このバージョンをインストールするか、一致するバージョンのファイルのみを更新します(対応するブラウザーでのみ効果があります)。 ファイルのバージョンを確認します-ファイルを右クリックします-プロパティ-バージョン-ファイルバージョン
実験の結果、何かが機能しなくなった場合(パッチが正しくない場合、ブラウザでフラッシュが正しく動作しない可能性があります)、ブラウザを閉じてファイルの元のバージョンを復元することでアクションを修正できます。 最後の手段として、ブラウザのフラッシュプレーヤーをアンインストールして再インストールします。 もちろん、エラーが発生したトランジションのアドレスを変更しようとすると、予測不可能な場所に制御を残し、何かを壊す可能性があります。 システム障害に関する一般的な安全上のアドバイス-結果の結果が不明な実験をしないでください。ファイルの元のコピーを保持することを忘れないでください。

参照資料


1.マルチモニターシステムでフルスクリーンのバックグラウンドでフラッシュビデオを再生する(ウィンドウのみ) 」、2010年3月6日。
2. ブラウザに関連するNPSWF32.dllファイルのブラウザプログラム 。 ビルド6-24-2010
FlashHacker(en。)、Flash 10.1.53.64のサポート
(ビデオはパッチの方法を完全には説明していません。実際、パッチは[4]で説明されているように11バイトを検索します。
3. 古いバージョンのプレーヤーをハックして使用する方法 (インストール用のファイルが添付されています)。
「マルチモニターシステムでフルスクリーンのバックグラウンドでフラッシュビデオを再生します(ウィンドウのみ)」2010年5月9日-2010年10月3日。
4. (英語) フラッシュ10.1からバージョン10.1.82.76 (IEなし)へのソリューションが主なソースです。
「Flash 10.1のフルスクリーンハック」
5. 代替パッチ(AutoIt v3のソースコード) (Habrパーサーはリンクを短縮します:正しいホスト名:autoitscript、表示時にアドレスバーで修正)。
6.メインソースである「Press Esc to ...」 (v.10.1.85.3) のパッチ 。 10.1.82.76用の2つのパッチを含むアセンブリがあります。
7. 再投稿 -2010年6月11日。
8. IgnoFlashパッチ -2台のモニターの有望なハック。
UPD:9. バージョン10.1.102.64の継続記事では、説明されているものと同一のパッチを実行するための段階的な方法論を提供しています。 フラッシュバージョンのアップロードファイル。
UPD:10. Flash 10.2ベータ版では 、「フルスクリーンコンテンツはセカンダリモニターでフルスクリーンのままになるため、ユーザーは別のディスプレイで作業しながら見ることができます。」 進歩が止まっておらず、すぐにそのようなパッチの必要性が減ることは良いことです。

Source: https://habr.com/ru/post/J107606/


All Articles