2010-01-01から1年間の記事一覧

OllyBonEを読みます

概要 OllyBonEはページテーブルを操作してメモリの属性を変更することで、ヒューリスティックにアンパックを行うプログラムです。ページテーブル操作によるアンパッキング技法の先駆けとして有名です。ソースは以下からダウンロードできます。 http://www.jo…

仮想化技術によるアンチルートキット

今回は、仮想化技術で隠されたプロセスを検出する、という研究のお話をします。また、これについて試験的にWindows 7(x86)で動くものを実装してみましたので、その実装詳細と評価も交えていきます。実装はこちら。

再開だけしてみる

期待に応えたいと考えたからだと思う。ただ自分の生活の中にこいつがどうやって食いこんで行くのかは、正直見えてない。自分の中での価値をほとんど失ってしまっているので。

GetTickCountとtimeGetTime

GetTickCount関数とtimeGetTime関数がどうやって実装されているか確認し、分解能の違いが実現できている理由を読み解きます。[NTKRNL]のタグがついている時点でアレなわけですが「どっちを使うべき」的な情報がほしい方は回れ右。特に明示しない場合、x86 XP…

バイナリアン御用達(?) CryptBinaryToString

CryptBinaryToString というAPIを使うと、バイナリ列を文字列に変換できる。 BOOL WINAPI CryptBinaryToString( __in const BYTE *pbBinary, // バイナリ列 __in DWORD cbBinary, // バイナリ列のサイズ __in DWORD dwFlags, // 変換書式のフラグ __out_opt …

就職活動お手伝いと学生

東京のビッグなサイトでブースに入って学生の勧誘と、情報系会社の簡単な紹介(キャッチじゃないよ!)をしていたときの話。 そのときの印象だけど、意外と就職活動開始時点で明らかな情報処理関連の技術のある人は少ないようだった。はてなダイアリーとか見…

例外がユーザー空間に落ちてくるまで

しばらくカーネル空間で例外ハンドラをいじって遊んでいたのだけど、ユーザー空間でも似たような遊びができる気がしたので下調べのメモ。常に以下のフローをたどるわけではなく、あくまで発生した例外がユーザー空間に伝播するときのフロー。x86はWindows XP…

(削除済)ジャンクションが脅威となるケース

勘違いだったので削除しました。すみません。 ここで書いていたジャンクションを利用したケースではファイルを開けないので、論点としたかった問題は起こりません。 名無しさんありがとうございます。 以下内容。 低い権限のユーザーが作成したジャンクショ…

削除されようとしたファイルをバックアップコピーするツール

EXE、TMP、SYS、BAT ——— 何でも一緒だ。マルウェア解析では、どんなものからも目を離してはいけない。 ファイルが削除されようとしたタイミングで、そのファイルをバックアップコピーするフィルタドライバを書いてみました(ScavengerFolk.cab)。よければど…

Rootkitのようなデバイスドライバファイルを回収するツール

デバイスドライバがカーネルにロードされたタイミングで、そのファイルをバックアップコピーするデバイスドライバを書いてみました(drvcopy.cab)。よければどうぞー。

NT_ASSERTマクロ

ドライバ開発の際には従来広くASSERTマクロが使われているが、最近のWDKではASSERT定義周辺に、NT_ASSERTというマクロが追加されている。このマクロは現時点では文書化されていないものの、ASSERT Yourself - The New NT_ASSERT Macro in the WDKにおいて、…

VTがなくてもがんばればなんかなる!

この辺眺めながら。個人的には大好きなVT技術なのだけど、ここではハイパーバイザーの存在はそんなに重要でない。ハイパーバイザーを使ったほうが楽に、良いものができるのは間違いないが、同じアーキテクチャにするにしても、drvcopyのようにAPIを使ってド…

われわれはビジネスパーソンであるとともにエンジニアであるので

/) ///) /,.=゙''"/ / i f ,.r='"-‐'つ____ 細部にとことんこだわろうぜ!! / / _,.-‐'~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ / ノ il゙フ::::::⌒(__人__)⌒::::: \ ,イ「ト、 ,!,!| |r┬-| | / iトヾヽ_/ィ"\ `ー'´ / という衝動との葛藤なわけです。…