Windows カーネルドライバプログラミング(ウィンドウズカーネルドライバプログラミング)
- 著者:
- Pavel Yosifovich/吉川 邦夫(パヴェル ヨシフォヴィチ/ヨシカワ クニオ)
- 出版社:
- 翔泳社
- 出版日:
- 2021年05月19日頃
- ISBN:
- 9784798170824
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Windows カーネルを活用するドライバ開発に必要な環境構築と
カーネルドライバ開発の最初の取っ掛かりを提供する
【本書の内容】
本書は
Pavel Yosifovich, "Windows Kernel Programming",
Leanpub Publishing, 2019
の邦訳です。
本書は Windows 用のカーネルドライバの開発方法について解説した書籍です。
カーネルドライバは、ハードウェアを扱うのではなく、プロセスやスレッド、
モジュール、レジストリなど、 Windows 特有のシステム自体を扱います。
そのため、注意深く目を配らなければならない範囲は広大です。
とはいえ、 Visual Studio とデバッガーをはじめとする数種類のツールの使いかた
さえ理解できれば、 Windows カーネルが持っているパワーを最大限に活用できる
ドライバのプログラミングは難しいことではありません。
『 Windows カーネルドライバプログラミング』は、プログラミングをはじめるに
あたって必要となる環境構築と、システムを構成するオブジェクト群を解説し、
重要なイベントの監視やイベントの抑制などに役立つ、フィルタードライバの開発
まで紹介します。
【本書のポイント】
・フィルタードライバ開発に向けた最短距離
・必要最小限の API 解説
・プログラムコードは C/C++
【読者が得られること】
・カーネルドライバ開発の概要がわかる
・カーネルドライバ開発に入門できる
・各種ツールを扱えるようになる
・ Windows システムが理解できるようになる
・ハッカーを気取れる
【著者について】
・ Pavel Yosifovich (パーベル・ヨシフォビッチ) は、開発者、トレーナー、著者、
講演者です。共著に『インサイド Windows 第 7 版 システムアーキテクチャ、プロセス、
スレッド、メモリ管理、他』 (日経 BP 、 2018 年 4 月) 、著書に
"Windows Presentation Foundation 4.5 Cookbook" (Packt Publishing 、 2012 年 9 月) 、
"Windows 10 System Programming,Part1" (Independently published 、 2020 年 4 月)
などがあります。 Pavel はソフトウェア全般を愛しており、古い Commodore 64 が今でも
大好きです。
技書の森解説
ユーザーモードのアプリケーション開発者にとって、カーネルモードは「触れてはならない世界」に見えがちです。本書はその敷居を下げ、 Windows カーネルドライバの開発を体系的に学べる数少ない日本語書籍です。著者の Pavel Yosifovich 氏は『 Windows Internals 』の共著者でもあり、 OS 内部の動作原理に精通した視点から、ソフトウェアドライバ (ハードウェアを直接制御しないカーネルモジュール) の設計と実装を段階的に解説しています。
扱う題材はプロセスやスレッドの監視、レジストリへのフィルタリング、ファイルシステムミニフィルタなど、セキュリティツールやシステム管理ツールの基盤となる技術です。サンプルコードを動かしながら、カーネルオブジェクト、 IRP (I/O Request Packet) 、同期プリミティブといった概念を手で掴んでいく構成になっています。
前提として C/C++ の知識と Windows API の基本的な理解が必要であり、難易度は高めです。ただし、セキュリティリサーチやアンチチートの分野でカーネルレベルの理解を求められる場面は増えており、ユーザーモードだけでは到達できない深さを得るための投資として、その重みに見合う内容が詰まっています。
言及 Qiita 記事 (2 件)
この本に興味がある方におすすめ
この本に関連
Pavel Yosifovich の他の書籍
関連記事
「自分には早すぎた」と思った本は 3 ヶ月後に読み返せ
難しくて途中で閉じた技術書を、3 ヶ月後に読み返すと驚くほど理解できることがあります。この現象が起きる理由と、「早すぎた本」を無駄にしない活用法を解説します。
技術書の読み方入門 - 最初の 1 冊を挫折せずに読み切るコツ
技術書を挫折せずに読み切るための具体的なテクニックと、「全部読まなくていい」というマインドセットを紹介します。
本の「はじめに」は読み飛ばさないで
多くの人が読み飛ばす「はじめに」には、その本を最大限に活用するためのヒントが詰まっています。たった 5 分で読めるこのページの価値を解説します。
関連用語
システムコール
ユーザー空間のプログラムが OS カーネルの機能を呼び出すインターフェース
サイドカーパターン
メインコンテナと同じ Pod に補助コンテナを配置し、横断的関心事を分離する設計パターン
Namespace と cgroup
Linux コンテナの基盤技術で、プロセスの隔離とリソース制限を実現するカーネル機能
サイドカーインジェクション
Kubernetes で Pod にサイドカーコンテナを自動的に注入し、横断的関心事を透過的に追加する仕組み
Android
Google 主導で開発されるモバイル OS。世界で最も多く使われるスマートフォン基盤
デザインシステム
UI コンポーネント、デザイントークン、ガイドラインを体系化し、一貫した UI を実現する仕組み