Skip to content
No description, website, or topics provided.
C++
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
7.10.1_Winlogonの初期化 2020/03/24 Mar 24, 2020
7.10.2_ユーザーログオンのステップ 2020/03/24 Mar 24, 2020
7.11.1_ユーザーアカウント制御(UAC)とUACの仮想化 2020/03/24 Mar 24, 2020
7.11.2_権限の昇格 2020/03/24 Mar 24, 2020
7.4.1_アクセスチェック 2020/03/24 Mar 24, 2020
7.4.2.a_セキュリティ識別子(SID) 2020/03/24 Mar 24, 2020
7.4.2.b_整合性レベル(IL) 2020/03/24 Mar 24, 2020
7.4.2.c_トークン 2020/03/24 Mar 24, 2020
7.4.2.d_偽装 2020/03/24 Mar 24, 2020
7.4.4.a_セキュリティ記述子 2020/03/24 Mar 24, 2020
7.4.4.b_ACLの割り当て 2020/03/24 Mar 24, 2020
7.4.4.c_アクセスの決定 2020/03/24 Mar 24, 2020
7.4.4.d_UIPI 2020/03/24 Mar 24, 2020
7.5_AuthZAPI 2020/03/24 Mar 24, 2020
7.6.1_アカウント権利と特権 2020/03/24 Mar 24, 2020
7.6.3_強力な特権 2020/03/24 Mar 24, 2020
7.7_プロセスとスレッドのアクセストークン 2020/03/24 Mar 24, 2020
7.8_セキュリティ監査 2020/03/24 Mar 24, 2020
7.9.1_UWPアプリの概要 2020/03/24 Mar 24, 2020
7.9.2.a_アプリコンテナーのセキュリティ環境 2020/03/24 Mar 24, 2020
7.9.2.b_アプリコンテナーのケーパビリティ 2020/03/24 Mar 24, 2020
7.9.2.c_アプリコンテナーとオブジェクトの名前空間 2020/03/24 Mar 24, 2020
auto_build 2020/03/24 Mar 24, 2020
auto_exec 2020/03/24 Mar 24, 2020
7.10.1_Winlogonの初期化.MD 2020/03/24 Mar 24, 2020
7.10.2_ユーザーログオンのステップ.MD 2020/03/24 Mar 24, 2020
7.11.1_ユーザーアカウント制御(UAC)とUACの仮想化.MD 2020/03/24 Mar 24, 2020
7.11.2_権限の昇格.MD 2020/03/24 Mar 24, 2020
7.4.1_アクセスチェック.MD 2020/03/24 Mar 24, 2020
7.4.2.a_セキュリティ識別子(SID).MD 2020/03/24 Mar 24, 2020
7.4.2.b_整合性レベル(IL).MD 2020/03/24 Mar 24, 2020
7.4.2.c_トークン.MD 2020/03/24 Mar 24, 2020
7.4.2.d_偽装.MD 2020/03/24 Mar 24, 2020
7.4.4.a_セキュリティ記述子.MD 2020/03/24 Mar 24, 2020
7.4.4.b_ACLの割り当て.MD 2020/03/24 Mar 24, 2020
7.4.4.c_アクセスの決定.MD 2020/03/24 Mar 24, 2020
7.4.4.d_UIPI.MD 2020/03/24 Mar 24, 2020
7.5_AuthZAPI.MD 2020/03/24 Mar 24, 2020
7.6.1_アカウント権利と特権.MD 2020/03/24 Mar 24, 2020
7.6.3_強力な特権.MD 2020/03/24 Mar 24, 2020
7.7_プロセスとスレッドのアクセストークン.MD 2020/03/24 Mar 24, 2020
7.8_セキュリティ監査.MD 2020/03/24 Mar 24, 2020
7.9.1_UWPアプリの概要.MD 2020/03/24 Mar 24, 2020
7.9.2.a_アプリコンテナーのセキュリティ環境.MD 2020/03/24 Mar 24, 2020
7.9.2.b_アプリコンテナーのケーパビリティ.MD 2020/03/24 Mar 24, 2020
7.9.2.c_アプリコンテナーとオブジェクトの名前空間.MD 2020/03/24 Mar 24, 2020
README.MD 2020/03/24 Mar 24, 2020

README.MD

このリポジトリは何ですか?

このリポジトリは、書籍Windows Internals(日本語訳Inside Windows)をコードレベルで理解することを目指したプロジェクトです。 Windows Internalsに記載されている内容をコーディングを通じて証明することで、同書籍の圧倒的な理解が深まり、 それはWindows OSそのものへの理解にもつながります。

何故プロジェクトを発足させたか

Windows Internalsは、Windows OSを最も深く掘り下げた書籍です。 しかし、その掘り下げる内容が高度かつ難解であるが故に、ほとんど内容が理解されていない現状があります。 「Windows OSを理解するための敷居を下げることはできないか」、「Windowsの内部技術を分かりやすく伝えることはできないか」 そうした思いでこのプロジェクトを発足させました。

セキュリティの章を選んだ理由

Windows Internalsが解説する範囲は膨大であり、どの箇所から解析するかをまず決めなければなりませんでした。 上巻は全7章で構成されますが、このうちの第7章(セキュリティの章)が最も平易かつユーザーモード寄りなので、 第7章から解析しました。

使用技術

Windows InternalsはWindows OSを解き明かす書籍ですから、同書に記述される内容は当然ながらシステム寄りになります。 このため、必然的にソースコードはネイティブコードで記述することになり、C++とWin32 APIを使用した設計になります。 STLなどの便利な外部ライブラリは一切使用しません。 効率が悪いようにも思えますが、Windows SDKのサンプルがそうであるため、それに倣っています。

全てのコードを自動化に対応させる

いくらWindows Internalsを証明するコードを記述しても、 それらを手動でビルドして実行するのは、あまりにも手間がかかります。 このため、全てのプロジェクトは、ユーザー入力を伴わないコンソールアプリケーションとして設計され、 戻り値は成功を示す0か、失敗を示す-1を返します。 auto_buildは、全てのプロジェクトをビルドします。auto_execは全てのプロジェクトを実行します。

出典

[書名]

インサイドWindows 第7版 上 システムアーキテクチャ、プロセス、スレッド、メモリ管理、他 https://www.nikkeibp.co.jp/atclpubmkt/book/18/P53570/

[発行日]

2018年5月1日

[発行元出版社名]

日経BP社

[著者名・訳者名]

Pavel Yosifovich、Alex Ionescu、Mark E. Russinovich、David A. Solomon(著)、山内 和朗 (訳)

なお、このプロジェクトは運営者独自の見解を示すものであり、訳者および日経BPとは無関係です。

You can’t perform that action at this time.