Win32
C# で、あるディレクトリ内のファイルを検索するために、Directory.EnumerateFiles メソッドを使うことができます。 このメソッド、なかなか罠があります。
前回のおさらい 前回は、ファイルのセキュリティ情報としてどんなものがあるか、ということを概観しました。 ざっとおさらいしますと、 ファイルのセキュリティ情報は「セキュリティ記述子(Security Descriptor)」という領域に記録されている。 セキュリテ…
目次です。 Windows のアクセス制御の仕組み セキュリティ記述子の中身を見てみる サンプル コードはこのリポジトリにあります。 github.com
一年ぶりです。アレとかアレとかもやらにゃいかんのはわかってはいるんですが、はい。そのうちやります。気が向いたら。 今はこっちに気が向いちゃってるのでしょうがないね。今回も懲りずにシリーズものになります。 ボリューム的には一人アドベント カレン…
第 8 回。 前回は DLL からのエクスポートについてやりました。 今回は対となるインポートについて。
第 7 回。 今回からデータ本体に踏み込んでいきます。 初回はエクスポート情報。 DLL が公開している関数の情報です。 コード多めで行きますよ。
年末年始は更新をさぼってて申し訳ありません。 まだまだシリーズは続きます。前回、相対仮想アドレスについてやりました。 が、重大な抜けがあったので、さらに追記。 なんでこれ書かなくていいと思ったんだ、俺よ。
第 6 回です。 今まで適当に流してきたというか、言う機会を逸していたことを整理しておきます。 ちょっと雑多な内容になってしまいますが、お付き合いください。
第 5 回。 今回は NT ヘッダーの末尾にある IMAGE_DATA_DIRECTORY についての概要編です。
第4回。 NT ヘッダーの順番通りなら今回は IMAGE_DATA_DIRECTORY なんですが、これは手を付けると長いので、ちょっと飛ばして先に IMAGE_SECTION_HEADER を説明しちゃいます。
第 3 回。 今回は IMAGE_OPTIONAL_HEADER をやっつけます。
この記事は Windows & Microsoft技術 基礎 Advent Calendar 2015 の 23 日目です。 今度は期日前に書き上げましたよ!前回は肝心なところで終わってしまいました。 今回は続きの NT ヘッダー編から。 と言ってもですね、NT ヘッダーを全部解説し終わったら、…
この記事は Windows & Microsoft技術 基礎 Advent Calendar 2015 の 20 日目です。*1 他の人が書かなそうなネタということで、Windows 実行ファイルで攻めてみることにします。 *1:今まで 21 日目だと思ってましたごめんー!
P/Invoke で Windows API を呼び出す際、引数に構造体を渡すには、割と色々な方法があります。 最近ちょっと混乱したので、改めてまとめてみました。 これまで知らなかった便利な方法も紹介しています。 新機能でも何でもありませんが、よく P/Invoke を使わ…
前回の投稿に入れようと思って書いていたら脱線しすぎ&長くなり過ぎたのでカットした補足事項でございます。
思い出した頃に更新することで定評のある ETW ブログのお時間です。前々回までで、プロバイダー、コントローラー、コンシューマーと、ETW のコンポーネントを一通り作ってみました。 が、今までのプロバイダーは、イベントに付随するデータが何もありません…
今回はリアルタイム モードについて説明します。ソースコードは例によって GitHub に。 今回はコントローラーとコンシューマーをまとめて説明します。
サボっていて申し訳ないです。 今回はコンシューマーを作ります。 コードは例によって GitHub に。
前回の予告通りコントローラーを作ります。 例によってコードは GitHub を参照してください。
Event Tracing Windows (ETW) に関する連載のまとめ。 記事を書いたのに更新を忘れてたら突っ込んでください。 ETW
前回はミニマムなプロバイダーを作りました。 しかし、あくまでイベント ビューアーで見るためのミニマム コードであって、ETW 的に本当に最小限のコードではありません。今回は本当にミニマムなコードを示すとともに、(イベント ビューアーでは見ることが…
さて、ようやくコードの出番です。 ミニマムなプロバイダーを作ってみましょう。で、ソースコードなんですが、すべてここに貼りつけるわけにもいきませんので、GitHubをご覧ください。また、適宜、以前の記事を参照しながらお読みください。
なかなかコードが書き始まりませんが、もう少しお付き合いください。 マニフェストをもう少し俯瞰する 前回は、プロバイダー マニフェストについて紹介し、スキーマを俯瞰する方法を示しました。 今回は、もう少しマニフェストの中身を見て行きましょう。
2 つのプロバイダー モデル 今回から、プロバイダーを作っていきたいと思います。これまでにも何回か書いていますが、ETW のプロバイダーには、Windows 2000 以来の古いモデルと、Windows Vista 以降の新しいモデルがあります。 古いモデルの方を「Classic P…
今回から本格的に ETW の解説に入っていきたいと思います。が、まずはコードは無しで。 ETW の構成要素 ETW は、4 つの要素から成ります。 セッション コントローラー プロバイダー コンシューマー
最近、Event Tracing for Windows (ETW) について調査しています。 で、今回から何回か続けて、ETW について書いて行きます。 ETW とは ETW とは、アプリケーションやシステム(ドライバーなど)が、その動作上発生した何らかのイベントを、報告し、記録し、…