PCの最近のブログ記事

Windows NT 4.0

| コメント(0) | トラックバック(0)
DeltaEndに元々のVJE-Delta 4.0対応機能を組み込み直しているのですが、そういえばNT 4.0ってどんなだったっけ、と気になったので仮想PCに入れました。
nt4.png
Windows 95相当のUIで、実はPnP非対応、Windows Updateも無し。ブリーフケースや受信トレイが懐かしいですが、常用した時期は短いです。

無断でWindows 2000 β3にして仕事をするというアホなことをしていたためですが、幸運なことに不具合には遭遇しませんでした。

で、NT 4.0です。Service Pack 6aの配布がもう終了しているのですね。sp6full_i386.exeというファイル名で探してきたものを入れて何とか対応。これがないとVMWare Toolsが入りません。幸いInternet Explorer 6はまだ普通に手に入りました。

MacBook Proのファンが回り始めて何事かと思ったら、当時は省電力機能がなかったのを思い出しました。ですので割り当てたコア数が100%貼り付きっぱなしになります。今となっては引退させないと電気の無駄でしょう。

ImmDisableIMEってWin98/2000以降だったのね、とDeltaEndのコードfixはもうちょっと先の話です。

VMWare Player 4.0.2のVMWare Tools (2)

| コメント(0) | トラックバック(0)
なかなか更新されないので、Workstationからもらうことにしました。

まずはVMware Workstation 8.0.2をダウンロードして解凍します。

VMware-workstation-full-8.0.2-591240.exe /e <解凍先フォルダ>

"tools-"で始まるファイルがVMWare Toolsです。例えばWindows 2000以降用ならtools-windows-8.8.2.exeを実行すれば、無事にVMWare Playerのフォルダの中が更新されます。
OpenProcessしてEnumProcessModulesしてDLLのハンドルを取得し、CreateRemoteThread経由でFreeLibraryに渡すという手がありました。

が、次にウィンドウが生成された時に、同じDLLがWH_CALLWNDPROCRETフックに指定されていると(つまりフックを使用するそのアプリがもう一度起動されていると)、アクセス違反で落ちました。

呼び出し履歴によるとCreateWindowから最終的にDispatchHookWで落ちており、名前からすると何事もなくフックを呼ぼうとしているのでしょう。DLLは開放できてもフックの状態は解除できなかったと推測されます。

となると何とかしてウィンドウプロシージャを呼ばせる、つまりCreateRemoteThreadからCreateWindowするしかありません。どんどんイケナイ道に踏み出している気がします。

LoadLibraryさせたDLLで、隠しダミーウィンドウを一瞬生成(WM_CREATEでDestroyWindow)すると開放できました。最初は論理試作としてDllMainでやったりしましたが、もちろん危険なのでエクスポート関数に実装しなければなりません。

コード注入だけで行なうのは無理そうです。CREATESTRUCTのlpCreateParams経由で受け取ったアドレスを、保存しておく場所がないためです。静的な変数が一切使えず、それがなくてはDefWindowProcすら呼べないのでは、ウィンドウプロシージャの実装は無理でしょう。

ウィンドウを生成するためにはRegisterClassする必要がありますが、クラス登録は相手プロセスの中ですから、同名クラスが既にあれば重複エラーとなります。時刻等を組み合わせてリトライする方向になるでしょうか。

USB 3.0 LANアダプタ

| コメント(0) | トラックバック(0)
台湾ASIX社からUSB 3.0対応GbEコントローラが発表されていました。1月3日のことです。
ASIX Releases the World's First Single-Chip USB 3.0 to Gigabit Ethernet Controller

現在サンプル、第一四半期の終わりに量産開始だそうなので、早ければ今年半ばぐらいに周辺機器として出回り始めるでしょうか。

PCI-Expressが1つしか使えず、しかも100BASEしかない廉価スリムPCで使い途があるでしょう。私の会社デスクトップPCがそれで、現在GbEで埋まっています。

GbEを維持しつつ高速な外付けHDDを接続するとしたら、USB 3.0経由しかないだろうと妄想していたところでした。

USB 2.0はともかく100BASEしかないスリムPCは今も販売されていたりします。ようやく救世主が現れました。

VMWare Player 4.0.2のVMWare Tools

| コメント(0) | トラックバック(0)
4.0.2が出たのですが、まだVMWare Toolsがありません。

Windows版の場合で下記の場所に4.0.1用があります。

http://softwareupdate.vmware.com/cds/vmw-desktop/player/4.0.1/528992/windows/packages/

Windows 2000以降用はtools-windows-8.8.1.exe.tarなので、これをダウンロードして解凍してインストールすると、一つ古いですがとりあえず入ります。

サポートフォーラムによると数日内に対応されるということでした。

メッセージフックとDLL開放

| コメント(0) | トラックバック(0)
DeltaEndでも使っているメッセージフック(WH_CALLWNDPROCRET、ウィンドウプロシージャ戻りフック)はDLLをプロセスに注入します。

開放されるタイミングは、UnhookWindowsHookExした後にウィンドウプロシージャが呼ばれた時だという話なのですが、開放されないプロセスがあるので調べてみました。

ehmsas.exeとjusched.exeの2つで、Spy++で見ると共にウィンドウがありません。前者はWindows Media Centerのモジュールで、ehtray.exeからCOMとして呼ばれています。後者はJavaのアップデート。

ログオン時タスクからでのみ発生し、起動後はタスクの手動起動でもDeltaEnd.exeの直接起動でも再現しません。

ログオン時タスクの起動はとても早いので、ひょっとして最初はウィンドウがあるんじゃなかろうか(少なくともjusched.exeはCreateWindowExAを使っている)、というわけで検証用のコンソールアプリを作ってみました。

WindowWithConsoleApp.zip
"w"入力でウィンドウを作り、"q"で終了します。ウィンドウを閉じるまでキー入力が利きません。

ProcessExplorerで監視してみると、最初は何をしても変化ありませんが、ウィンドウを作ると同時にDeltaEndDll.dllが入り、閉じてもそのままと見事に再現できました。

ウィンドウがなくなっても開放されるわけではなく、その場合はあくまでプロセス終了時の開放処理に任されているようです。ウィンドウ破棄後も動作するアプリは想定外なのでしょう。

DllMainでプロセス名を判別してFALSEを返し失敗させる、という方法は考えられます。しかし汎用的な方法はちょっと思いつきません。

他、Firefoxのplugin-container.exeでもたまに起きています。こちらもウィンドウがない場合ですが、このプロセスを除外するとIETabやFlash内に干渉できなくなるので、一度Firefoxを閉じて対応するしかななさそうです。

ImgBurnがPE_SALITY.USAV0109

| コメント(0) | トラックバック(0)
先ほどImgBurn.exeの2.5.6.0がウイルスバスターCorporate Edition 10.0に隔離されました。PE_SALITY.USAV0109だそうです。

公式サポートフォーラムにもCorporate Editionの海外名OfficeScanにて、同様の報告が上がっています。現在2件、日本時間で昨日と今日。

ウイルスバスターのセキュリティデータベースにこのウイルス名が入っていないので詳細不明です。PE_SALITY自体は実行ファイル感染の古いウイルスのようですが。

Avast!は今日付の定義ファイルでも反応せず誤検出と思われますが、しばらくファイル名に厳格なCDを作る仕事はないので静観中です。

2012/1/18追記:
今朝、隔離ファイルを元に戻したところ、再検出されませんでした。修正されたようです。

家庭サーバーでラジオ録音

| コメント(0) | トラックバック(0)
最近、ラジオ録音失敗が連続したため、観念してSUNTAC RDPC-101を購入しました。

録音にはAMFMラジオ録音さんを使わせていただいていますが、サーバーに録音させています。

まず、普通にユーザーとしてログオンし、録音を予約しておきます。動作確認も忘れず。

ログオンせずに動作してもらうため、sexeでサービスとして登録するのですが、登録後にアカウントを任意のユーザーにしておきます。これで動作してくれました。

これで金曜の朝にK's TRANSMISSIONを慌ただしく予約せずに済みます。

Flash Playerの自動更新

| コメント(0) | トラックバック(0)
いい加減、更新を勝手にやってくれないものかと思っていたら、11.2からはAcrobat等と同様に自動更新が実装されたようですね。

面倒なだけでなく初心者には大変危険なので、これは嬉しい話です。初心者が「インストール」に麻痺してしまったら、スパイウェアの格好の的ですから。

実際、実家の父のPCにも、いつの間にか使いもしないGoogleツールバーが入っていたことがあります。11.2が出たら早速メンテに行きましょう。

眺望は桜の散る頃に

| コメント(0) | トラックバック(0)
Windows Vistaの個人向け製品は4月にサポートが終了します。BusinessとEnterpriseはもう5年ありますが。

業務分担の都合でUltimateが必須のため、今の仕事が一段落したらWindows 7にしなければなりません。

64ビット版を検討しているところですが、開発環境はどうしたものかと思ったので、VMWare Player上で試してみました。

といっても、Visual Studioではなくマイコンの話です。V850はCubeSuite+が既に対応済みですが、H8SXのHEWは実際のところどうなのか。コンパイラのライセンスが古いのがネックです。

結論から言うと使えるようでした。E10A-USB他をWin7対応版にして、H8系コンパイラだけ6.02 Release 02の状態で、動作を確認できました。

念のためインストールはProgram Files下ではなくC:\Renesas\HEWディレクトリにしましたが、UACもAeroも有効なVistaで動いている組み合わせですから、デバッガさえ接続できれば、そう変わることもないのでしょう。

しかしMacBook MB062J/Bを非力に感じ始めているので、こちらも更新できたら嬉しいのですが。
<<前のページへ 910111213141516171819

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ