2012/07/28

chromiumのflashには危険がいっぱい

ubuntuは素晴らしいOSです。
そして、chromiumは素晴らしく高速に動き、UIもシンプルで、その上フリーなできのいいソフトウェアです。
しかし、この2つに乗っかる形で動作するFlash Playerは危険なソフトウェアだと思わざるを得ないでしょう。
なぜなら、設定ウィンドウに触れることができないんですから…!



chromiumとchrome、Flashの関係性

chromiumは、chromeと非常によく似たブラウザですが、Flash Playerについては少し違います。googleがリリースしているchromeには、Flash Playerが組み込まれていて、別途用意する必要はありません。しかしchromiumには、Flash Playerは同梱されておらず(これはFlash Playerがプロプライエタリなソフトウェアだからでしょう)、apt-getなどで別途用意する必要があります(ubuntuの場合は元々インストールされているようです)。


ローカルストレージの罠

事の発端は、Flashがローカルストレージの利用についての確認ウィンドウがでた事でした。
嫌な予感はしましたが、ローカルストレージを利用してデータ保存を行えば、通信料が減ってキビキビ動くようになるかもと思って(しかし実際は動作に不満などなかったのに)利用するよう設定しました。するとDBの利用量を指定するバーが表示されましたが、このウィンドウのボタンを押すことができない!
あら困った。しかもこれを押さなければFlashのオブジェクトをクリックする事ができない。あぁ私の収穫予定の苺が腐ってしまう…(FARMERAMAを最近やってます)。
おそらく100回はキャンセルボタンを押しましたが、反応はありませんでした。

基本的にUbuntuのFlash Playerは設定画面の表示はできてもそれを操作することはできないので、表示させてしまった場合はリロードするしかありません。
今回もそれと同じ件だろうと思い、リロードしますが、リロードした後も設定画面が消えません! おい!

これはゲームの辞め時かとも思いましたが、どうしても苺の収穫を諦めることが出来ず、私はターミナルを開きました。そう、武器を取ったのです。


Flashの設定ファイルを探せ

ターミナルはLinuxにとって最強の矛です。
しかし、攻撃する先が分からなければ意味がないので、まずは情報収集。
Flashのデータは「~/.macromedia/」のディレクトリに保存されているようです。
そして、Flashのデータはsolという拡張子のファイルに保存されているとの事。
solファイルはバイナリファイルなので、そのままは触れない。
solをxmlに相互変換するスクリプトがある。
xmlを修正してsolに戻すと設定は反映される。

以上の情報から、Flashの設定をハックしてみます。

# sol-xmlの相互変換をするスクリプトを用意
mkdir ~/sol2xml
cd ~/sol2xml
wget http://199.91.154.71/90ccc9vyvcjg/46htg0g28457vkw/SOL2XML.py -O s2x.py
# ファイルがない場合は http://osflash.org/s2x からソースをコピペ
python s2x.py  #これでusageが帰ってこない場合は sudo apt-get install python

# solファイルの修正
cd ~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/
# ここにローカルストレージに関するSOLファイルがドメインごと保存されている
cd \#fa.ah.bpcdn.net
cp -frp settings.sol settings.sol.bk  #backup
python ~/sol2xml/s2x.py -x settings.sol
# Converted File: settings.xml Was Successfully Created. とでれば成功
vi settings.xml
# klimit というタグを探して修正する
# klimit はローカルストレージの使用量を指定するタグ。とりあえず「-2.0」で無制限にする
python ~/sol2xml/s2x.py -s settings.xml
# Converted File: settings.sol Was Successfully Created. とでれば成功

ブラウザを再起動してみると、ローカルストレージの設定ウィンドウは表示されず、ひとまず苺を収穫することが出来ました。
調べている途中でFirefoxでもFlash Playerで同様の事が起こっているらしいので、Flash Playerのリポジトリ自体に問題がありそう。
Linuxのリポジトリは手厚いメンテナンスを受けているわけではないようので、この問題は今後も続くと思われます。

Flash Playerのその他の設定も、SOL形式で保存されているようなのでしっかり調査すれば問題は解決するでしょう!

Good luck!


0 件のコメント:

コメントを投稿