昨日退社する際に ClamWin のスキャンをしかけて帰った。 今日確認してみたら、Worm.Mydoom.Gen-1 が検出されていた。 青くなる。
検出されたのは、
C:\Program Files\Lhaz\Lhaz.exe
および同ファイルがシステムの復元用に保存されたもの。 とりあえずファイルを削除して、調査。 レジストリやシステムディレクトリをチェック。 発症した様子はないようだ。
しかしいわゆる MyDoom 系で感染しそうではないのだが、はて。
ウイルスバスターオンラインスキャンでスキャンしてみたが、同ファイル(および他の全てのファイル)でウイルスは検出されなかった。
うーん。どうやら ClamWin の誤検出のようだ。
Windows 用のインストーラ作成ツール NSIS は、スクリプトベースでインストーラを作っていくのが1つの特徴である。 NSIS スクリプトは、さすがインスーラ作成用だけあって
その他システム関連のコマンドが充実している。 コンパイルするとかなりコンパクトな実行形式ファイル (EXE) を生成してくれるので、ちょっとした処理を自動化するには便利である。
今回 USB メモリに入れておいて、そのドライブ上のいくつかのディレクトリに PATH が通った状態でコマンドプロンプトを開くツールを NSIS で書いておこうかと思って試す。
NSIS は POSIX ベースシステムでビルドし実行でき、NSIS スクリプトをコンパイルできる。 ということで作業を Linux で作業をしていたのだが、どうやら System::Call が使えないようだ(スクリプトのコンパイルに失敗する)。
Debian パッケージが古いせい (2.19-1.1) かと思い、ソースパッケージをビルドしてみたらまさに System 関連らしいところでコンパイルがこけている (そういう背景で Debian パッケージがアップデートされていない?)。
ということでどうも最新の NSIS は Linux では駄目っぽい。
しょうがないので久しぶりに Wine。
Wine 上に NSIS 2.22 をインストールして makensis.exe を実行してみたところ試した範囲ではうまく動いている。 ついでにでき上がった実行可能ファイルも Wine 上で試せる。
しばらくは Wine 上で NSIS スクリプト書きを楽しむことにしよう (最終的には Windows 上でコンパイルしなおして動作確認するのだけれども)。
デスクトップ PC を Dell Dimension C521 (Windows XP Home Edition SP3)に乗り替えたのだが、PS/2 ポートがなくなったので Happy Hacking Keyboard Lite が挿さらない。
1週間ほど日本語配列の付属キーボードを使っていたのだが、今日プログラムを書きはじめたらさすがにイライラしてきた。 思わず HHKB Lite2 買いに走ろうかと思ったが、ふみとどまってとりあえずレジストリ変更。
[\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Paramaters]
の "LayerDriver JPN" を KBD106.DLL から KBD101.DLL に変更して再起動。
結局 XKeymacs もやっぱり入れた。 Caps Lock の Ctrl 化は XKeymacs の機能にてレジストリ書き換え。
IME 2007 も馴染まないので、SKKIME も入れていつも通りの入力環境に。
[ 英語キーボード ]
私は会社の共有 Windows ノート PC を持ち歩くのが嫌いだ。 自分の Debian GNU/Linux ThinkPad があるので、2台持ち歩かなければなくなるから。 しかしながらデモンストレーションやテストの環境が必要な時は Windows ノート PC がいるのも事実。 外出/出張時は共有ノート PC 1台で済ませられるようにしないとな。
で、なぜ嫌かを考えてみるとやはりテキスト入力で苛つくからだなとあらためて気がついた。 普段は
というテキスト入力環境。 もう素の日本語 Windows 環境ではイライラしまくり。
であれば一時的にキー配列を変更するツールを USB メモリに入れておけば少しは楽になるかもしれない。 ということでツールを選んでみた。
が希望。ちょっと使う際にさっとキー配列を変えられて、すぐに戻せるようにしたい。 元の状態に戻すのに操作が不要なのがベストなので、常駐型のソフトウェアでかまわない。
キー入力時にキーを入れ替えたりスクリプトを実行したりすることのできる強力なソフトウェア。USB メモリに入れて実行できる。 実行中のみフックされるため終了すれば元の環境に戻せる。 作った設定ファイルはコンパイルして実行可能ファイルにすることができ、AutoHotkey 本体無しで実行できるという機能もある。
家にある ThinkPad の日本語キーボードと英語キーボードを並べて設定を作ってみた。 IME 切り替えは Web で公開されている IME_Func.ahk を使った。
#UseHook #include IME_Func.ahk ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 1段目 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; VKF4::Send,{``} ; 半角/全角 -> ` +VKF4::Send,{~} ; Shift + 半角/全角 -> ~ +2::Send,{@} ; Shift + 2 ["] -> @ +6::Send,{^} ; Shift + 6 [&] -> ^ +7::Send,{&} ; Shift + 7 ['] -> & +8::Send,{*} ; Shift + 8 [(] -> * +9::Send,{(} ; Shift + 9 [)] -> ( +0::Send,{)} ; Shift + 0 [ ] -> ) +-::Send,{_} ; Shift + - [=] -> _ ^::Send,{=} ; [^] -> = +^::Send,{+} ; Shift + ^ [~] -> + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 2段目 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @::[ ; [@] -> [ +@::{ ; Shift + @ [`] -> { [::] ; [[] -> ] +[::Send,{}} ; Shift + [ [{] -> } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 3段目 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;::Send,{:} ; Shift + ; [+] -> ; :::Send,{'} ; [:] -> ' *::Send,{"} ; Shift + : [*] -> " ]::\ ; []] -> \ +]::| ; Shift + ] [}] -> | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 4段目 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 5段目 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; VK1C:: IME_TOGGLE("A") return
直接 a::b と書けるものと Send を使わなければならないのとがあって、ちょっとハマったけれど何とかマッピングできるようになった。
今のところインストール不要で常駐している間のみ Caps Lock を Ctrl に替えるソフトウェア見つからず。 「レジストリ書き換え」「再ログイン必要」になるが XKeymacs で変更できるので、ちょっと長時間占有して使う場合に XKeymacs で設定して最後に戻すようにするかなあ。
この場合は英語キーボード配列にするのも AutoHotkey じゃなくてレジストリ書き換え(あるいはそれ用のツール)でドライバを入れ替えてしまってもいっしょか。
XKeymacs で。 インストール不要で実行中のみ Emacs 風にしてくれるが、レジストリを一部書き換える。 完全に跡を残さないようにするようには、レジストリを削除する必要あり。
Emacs 風キーバインディングは絶対無くては嫌というわけではないので、必要に応じて。
さすがにインストール不要というのは見当たらない。 USB メモリに入れてある NTEmacs に SKK を入れてテキストファイル作成時ぐらいは SKK を使えるようにしておく予定。
ということで、快適なテキスト入力のために入れておくもの:
Shift + 2 が @ になるだけでも救われる。
最近買った ThinkPad X200 の Windows 7 で Web アクセスするとうまく見られるページと途中で止まってしまうページに遭遇。 うちでこのタイプの不具合が出た時はまずだいたいの場合、ルータ YAMAHA RTW65b と RFC1323 TCP Window Scale Option の問題だ。
これについてはLinux では /proc/sys/net/ipv4/tcp_window_scaling の設定で対応。 Windows XP では特に問題が出ないのでそのままとしていたのだが、Windows 7 ではデフォルトの振る舞いが変わってひっかかるようになった模様だ。 このままだと The Internet との通信がうまくいかないので実質 Windows 7 が使えなくなってしまう。 レジストリいじれば直るかもしれないが、自宅特有の問題だから設定変えたくないというのもある。
で、なんとなく確認したら RTW65b の新しいファームウェア 5.03.25 出ているのを発見。 今使っているのが 5.03.11。 いや新しいといっても出たのは2002年とずっと昔で新しくないな。 記憶を辿ると、リリースされたのは以前気がついていたんだけれどその時は特に必要性を感じなかったのでスルーしていたような気がする。
とりあえず駄目もとでアップデートしてみた。
サイトから rtw65b50325.bin をダウンロード。 telnet で RTW65b にログインして以下を実行。
administrator <== パスワードを入力して管理者モードに tftp host 192.168.0.X <== ファームウェアアップデートを実行する PC を許可
その後 Debian GNU/Linux PC に atftp Debian パッケージをインストルした上で以下を実行。192.168.0.1 は RTW65b の IP アドレス。
atftp -p -l rtw65b50325.bin -r exec 192.168.0.1
しばらくすると RTW65b が再起動。
で試してみたこところあっさり問題が解決。Windows 7 で OK だし、今まで駄目だった Linux も TCP Window Scale Option を止めなくてもよくなった。 あー、前この問題に始めて遭遇した時すでにこのファームウェア出ていたんだよね。 もっと早く適用していればよかった。
何はともあれまだルータを買い替えないで済んで満足。
英語キーボードを選択して購入した ThinkPad X200 だが、予想に反してインストールされていた Windows 7 Professional ではキーボードの設定が日本語キーボード用だった。ガビン。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
の以下をそれぞれ変更。
キー | 変更前 | 変更後 |
LayerDriver JPN | kbd106.dll | kbd101.dll |
OverrideKeyboardIdentifier | PCAT_106KEY | PCAT_101KEY |
OverrideKeyboardSubtype | 2 | 0 |
で再起動。
cf.
開発に使っている Windows デスクトップ PC はメモリが 1GB で、ちょっと不足気味なので Web ブラウザを立ち上げっぱなしにしずらくなってきた。 ということで最近は Firefox よりも起動の速い Google Chrome をよく使うようになってきた。 Windows では Google Chrome をメインにしてみようかな。拡張機能もサポートされたし。
ということで Google Chrome に拡張機能を入れてみようかと思ったら、今使っている Google Chrome Portable は3系で入れられなかった。 データディレクトリを TrueCrypt 仮想ボリュームに入れておきたかったので Google Chrome Portable にしていたんだけれど、確認したら Google Chrome は --user-data-dir コマンドライン引数でデータディレクトリを変更できるようなので、Portable 版をやめて普通に最新版をインストールしなおすことにした。
インストール後、スタートメニューの中のショートカット・PStart(ランチャ) 上の起動項目・レジストリ中にある関連付け起動設定についてそれぞれ --user-data-dir を指定。
レジストリの中は
"<パス>\chrome.exe" -- "%1"
となっているところを
"<パス>\chrome.exe" --user-data-dir=<データディレクトリ> -- "%1"
に変更。--user-data-dir を最後に指定すると関連付けから起動すると別にもう1つエラーなタブがが開いてしまう。-- は以降 PATH/URL 指定を表すようだ 。
出社したら Dell のデスクトップ PC の電源ランプが黄色で点滅していて、診断ランプの 1 と 3 が点灯していた。電源回りの故障っぽい。直らなさそうなので、別の PC に乗り換え。結果的にスペックが上がってメモリも 4GB から 8GB になり OS も 32 bit から 64 bit になってツイてる。
幸い HDD は壊れていなかったので、ファイルはサルベージ可能だった。しかし USB 接続して中を眺めてみても大して要るものなかった。そういえば複数 PC での利用のためだったり故障時の備えのためだったりで、リモートの Linux 環境や Google ドライブやファイルサーバにファイルをほとんど移しておいたんだっけ。
ということで新 Windows 7 PC では最低限の環境だけにしておこう、もう。
今まで TrueCrypt を使ってきたけれど、今後は VHD + BitLocker で。
旧データは TrueCrypt を portable で一時的に展開し、旧ボリュームをマウントして VHD で作ったドライブにコピー。
こうしてみると
はしておいた方が良さそげだな。
あとは普段の作業は PuTTY の先の Linux 環境で(Emacs でドキュメント書いたり、プログラム書いたり)。メールは Gmail。ドキュメントは Emacs 上の howm (Markdown 形式) か Wiki か Google ドライブで書いて可能な限り Windows PC ローカルでは書かない。
[ キーバインディング ]
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。