2009-01-01から1ヶ月間の記事一覧

DllMainとデッドロックで和訳の練習

DllMainでCreateThreadは動作するでコメントをいただいたAnother reason not to do anything scary in your DllMain: Inadvertent deadlockを使って和訳の練習。 DllMainでおこり得るデッドロックの例について。訳はのっけから怪しい感じだ。その辺の論文よ…

少しキモイドライバのロード方法

Trojan.Ascessoのテクニカルレポートに初めて見るドライバのロード技法が使われていた。 Trojan.Ascesso は、実行されると、最初にカーネルメモリー内に自身のドライバをロードしようと試みます。 (中略) スタートアップ時に実行され、また現在カーネルメ…

プロい

すでにだいぶ前になるが、会社の採用活動の一環として若手社員の声を採用ページに載せるのだとかでインタビューを受けた。どうして私になったのか知らないが(もっと話すのが好きな人や、賢い人がいるだろうに。)とりあえず請けたが、やはり会話がかみ合わ…

ドルジ

キタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(。 )━(A。 )━(。A。)━━━!!

デバッグメッセージの読み取りとフィルタリング

最近、なぜか唐突に和訳の楽しさに目覚めたので、URLカテゴリで英語の記事を紹介するとともに日本語に訳すことがあるかもしれない。 というわけでDbgPrintExの働きについての文書、Reading and Filtering Debugging Messagesで和訳の練習。これで休日丸1日か…

文字列バッファとIRQL

IRQL > PASSIVE_LEVELにおける文字列操作についての記事。A Hole In My Head - String buffers and IRQLで和訳の練習。

Windows小ネタ(随時更新)

大切な気づきがつまっています。上のものほど新しいです。 [F1]キーを無効にする 間違ってF1キーを押すたびに出てくるヘルプ黙らせる、いわゆる「お前を消す方法」的なあれ。XPではHelp and Supportサービスを無効にすればよかったが、Vistaでは該当するサー…

実機2台でのカーネルデバッグ

2台の実機をシリアルケーブルでつないでデバッグする。こんな場所も金も時間もかかる方法は選択肢にすら入らない。そんなふうに考えていた時期が俺にもありました。 というわけで、ささっとケーブル類買ってきて試してみたらうまくいったのでメモ。

Bypassing PatchGuard

おお、ターゲットマシンをいじっていたらコード0x00000109(CRITICAL_STRUCTURE_CORRUPTION)でBugcheckしたぞ。どうもこれがPatchGuard*1の働きらしい。 でまあ、ググるわけで。 当然のように記事が出てくるわけで。 Bypassing PatchGuard 3 2005年にはすでに…

Windows® Internals, Fifth Edition

*おおっと* Windows® Internals, Fifth Edition Published : May 20, 2009 http://www.microsoft.com/learning/en/us/books/12069.aspx *えんきされている*

SOLARISインターナルは間違いなく良書

SolarisにおけるインサイドWindows。というのは冗談や、名前が似てるってだけじゃなくて、本当にそういう位置づけで認識していいと思う。 仮想メモリやプロセス・スレッドのアーキテクチャなど、Solarisカーネルについてとても詳しく書かれていて、fork-exes…

Shadow Walkerを実装してみた 2/2

仮想メモリを隠蔽するShadow Walkerの動作説明の続き(→前回)。仮想メモリへのアクセスをフィルタリングしているフック後のページフォルトハンドラ関数を見ていく。 ちなみに本文中で頻繁に引用しているのは、すべてIA-32 インテル(R) アーキテクチャ・ソフ…

Shadow Walkerを実装してみた 1/2

Shadow Walkerとは、仮想メモリへのアクセスの種類を「実行」と「それ以外(参照・変更)」とでフィルタリングすることで実装される技法。 仮想メモリへのアクセスの種類が「実行」の時のみ正しい仮想メモリを参照させ、「参照・変更」の時には無関係な仮想…