作業手順

ドライバにオレオレ署名を埋め込む

x64 Windowsではデジタル署名されていないドライバはロードすることができないので、自分でビルドしたりその辺から拾ってきたドライバを読ませるときは適当な(オレオレの)署名をする必要がある。 んだけど、よくコマンドを忘れるのでドライバに署名を埋め…

Visual Studioでasmファイルを使う

x64ではインラインアセンブラが使えないので生のMASMを書く必要がある。 asmファイルをプロジェクト内に追加する 追加したasmファイルのプロパティを開き、「カスタム ビルド ステップ」>「全般」の 「コマンドライン」に ml64 /c /Cx /W0 /Fo$(IntDir)\$(I…

初心者のためのkgdbによるカーネルデバッグ環境構築めも

Windows 7 RC(x64)をホストとしてVMware Workstation 6.5.2 で2台のUbuntu 9.04(x64)を作成し、一台をデバッグする側、もう一台をデバッグされる側とする。

Vista版 bootvis

bootvisはXPの起動プロセスの詳細を分析し、また起動を高速化する(かもしれない)機能を持っていることで有名なツール。わたしも高速化機能に加え、ブートプロセスの詳細を意味もわからず眺めるのが好きで、日本語化パッチなどを作ったりしていた。ところで…

Hyper-Vを使用したカーネルデバッグ環境の構築

Hyper-Vで仮想マシンを作成し、これをWinDbgによりカーネルデバッグするまでの手順。今回の例では以下の構成で話を進める。ホスト側における手順はすべて管理者権限で行う必要がある。 仮想マシン Win2003 R2 std 評価版(x64) デバッガ WinDbg(ネイティブ x6…

VMWare Serial Line Gateway使うだけのメモ

すでにVMのシリアルポートデバッグ環境があり、それをもとに変更する方法のメモ。 VMWareGateway.exe に /t(/t /v で詳細モード)オプションを付けて起動する このときに netstat /a すると TCP567 で LISTENING していることが確認できる VM の [Use named…

DDKWizardを入れてみた

DDKWizardを導入するとVisualStudio上でドライバ関係のプロジェクトを扱えるようになる。Coolな点をいくつか。 VSの新規プロジェクトにドライバとネイティブアプリ*1が追加される。 VS上から「どのバージョンのDDKで」「どのターゲット環境向けか」を指定し…

デバッグ情報を含めないドライバビルド

ドライバはなぜか Free Build 環境でビルドしてもデバッグ情報(リンカオプション /debug)が含まれる。そのためバイナリには pdb ファイルまでのフルパスが含まれることになるのだが、フルパスが残るのは個人的にあまり気分が良くない*1。そこで、Free Buil…

リネーム

Vistaのひまじん専用。

デスクトップヒープ

なんとか取得できないものかと連休中四苦八苦したが、結局ダメだった。さすがにこれ以上まとまった時間を取れる機会はなさそうなので、諦めることにする。以下アプローチの概略。 win32k.sysがエクスポートしている関数を調査 めぼしいもの無し デバッグシン…

VistaSP1+VC9でDetours Express 2.1をビルドしたメモ(追記)

Detours ライブラリを利用したバイナリは detoured.dll がないと動作しない。少しライブラリに手を加えれば、無くてもどーにでもなるような気もするが、あえてやる価値があるとは思えない。で、本題。detoured.dll にASLRが適用されるようにビルドしよう。de…

VistaSP1+VC9でDetours Express 2.1をビルドしたメモ

Detoursをダウンロードしてインストール コンパイルエラーになる部分を修正 detoured.dll にASLRが適用されるようにビルドするならMakefileを編集 スタートメニューの[Visual C++ 9.0 Express Edition]->[Visual Studio Tools]->[Visual Studio 2008 Command…