Digital Travesia
推薦図書一覧
当ページに設定していたアソシエイトは解除しました。これは、Digital Travesiaのご支援は、銀行や郵便局およびAmazonを介した直接のご寄付がメインとなっている実情や、その他諸々の事情によるものです。
これまでアソシエイトにご協力頂いた方々へ、Digital Travesia管理人および関係者一同より厚くお礼申し上げます。
内容による分類
△プログラム解析一般(基礎から応用)
デバッガによるx86プログラム解析入門 【x64対応版】
ゼロからプログラム解析を学ぶための入門書。プログラムの動作原理や、『OllyDbg』等の解析ツールの説明、そして実践的なプログラム解析の演習といった、プログラム解析の基本を身に付ける上で重要な事項を網羅している。ゲーム解析を目的とするケースなどで、プログラミングの経験や予備知識が無い場合でも読み進められるように、解説は工夫され分かりやすい。なお、本書はプログラミングを学ぶための書籍ではない。本書と「Digital Travesia」のコンテンツを併用することで、プログラム解析の基礎知識を解析の実践に応用するといった、プログラム解析能力のレベルアップを図ることが可能。 このx64対応版では、旧版(2007年発売)の解説をその後の実状の変化に合わせて加筆修正し、さらに、64ビットアプリケーションの解析に関する解説などが追加されている。旧版は経年に伴い解説に実状との乖離が見られるため、今後旧版を購入することは避けた方が良い。 ●アマゾンで詳細を確認する ●出版社サイトで目次を確認する ●当サイトの関連情報ページをチェックする |
解析魔法少女美咲ちゃん マジカル・オープン!
リバースエンジニアリングされないソフトウェア作成方法を、プログラム解析の視点から分かりやすく解説しており、公益のための、あるいはユーザー個人の利便性向上を図る、プログラム解析・改造を学ぶ上でも参考になる。アセンブリ言語やAPI関数といった、初心者向けのプログラム解析に関する基本事項の解説や、『OllyDbg』の基本操作の解説もある。 ●アマゾンで詳細を確認する |
クラッカー・プログラム大全―禁断のシリアルナンバー解析テクニック (新装版)
公益のための、あるいはユーザー個人の利便性向上を図る、プログラム解析・改造に応用可能なリバースエンジニアリング手法の解説。 ●アマゾンで詳細を確認する |
クラッキングバイブル (新装版)
『クラッカー・プログラム大全』と同じ執筆陣によるプログラム解析の解説本。初心者向けにプログラム解析の基本事項が一通り解説されており、公益のための、あるいはユーザー個人の利便性向上を図る、プログラム解析・改造を学ぶ上でも参考になる。 ●アマゾンで詳細を確認する |
△プログラム解析以前の基礎知識
プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
2進数、レジスタ、スタックといったアセンブリ言語の基礎事項および、API関数などの、プログラムが動作する仕組みを理解する上での必要事項を解説。文章は平易で初心者にも分かりやすい。 プログラム解析を学ぶ前の入門書としてお奨め。 ●アマゾンで詳細を確認する |
はじめて読む8086―16ビット・コンピュータをやさしく語る
主な解説内容は、2進数や16進数、論理演算、8086CPUベースのアセンブリ言語での基礎事項。各種命令、レジスタおよびスタックといった、アセンブリ言語に係る解説は分かりやすい上に、32ビットCPUを考える上でも十分通用する。デバッガや逆アセンブラを用いたプログラム解析を学ぶ際にも有用。 ●アマゾンで詳細を確認する |
はじめて読むPentium マシン語入門編
「はじめて読む8086」と同じ著者よる、Pentiumベースでのマシン語/アセンブリ言語の解説。内容は「はじめて読む8086」と重なる部分が少なくない。 ●アマゾンで詳細を確認する |
独習アセンブラ
予備知識がゼロの段階からでも無理なく理解できるように、アセンブリ言語の主要な命令等の極めて基礎的な項目に絞って、簡潔に分かりやすく解説している。アセンブリ言語を学ぶための参考書ではなく導入書としてならば、特に各種アセンブリ言語関連資料の解説に馴染めない初心者の方にとって選択肢となり得る。 2021年9月に著者が異なる新版が出版された。この新版では内容が一新され、読解に「C言語のプログラミングの能力」が求められるため、入門者向けの旧版とは対象読者が異なる。また、ニーモニックの表記にWindows用プログラム解析ツールで使用しないAT&T構文を用いたり、x86とx64以外のアセンブリ言語の解説に全700ページ中200ページを費やしており、全体を通して解説は丁寧であるものの、Windows上で行うプログラム解析の参考書としては、購入にあたり検討が必要といえる。 ●アマゾンで詳細を確認する |
△プログラム解析に関連する専門的なトピック
セキュリティコンテストチャレンジブック -CTFで学ぼう! 情報を守るための戦い方-
セキュリティコンテストのCTFを題材とした情報セキュリティの導入書。プログラム解析と直結する「バイナリ解析」の項があり、プログラム解析の極めて基本的な事項を分かりやすく簡潔に解説している。また、CTFの実情に合わせ、Windows環境よりもLinuxベース環境での解析に主眼が置かれている。バイナリ解析やネットワーク関連といった情報セキュリティの主要な要素を俯瞰する上で有用であり、さらにLinuxベース環境での解析といった「Windows関連に止まらない広範な知識と経験」を得ていく端緒となり得る。 続編となる『セキュリティコンテストのためのCTF問題集』あり。 類書に『詳解セキュリティコンテスト』あり。 ●アマゾンで詳細を確認する |
アセンブリ言語の教科書
プログラムの解析能力向上に有用な、アセンブリ言語の基礎事項やプログラミング手法等の解説。 アセンブリ言語を用いた32ビットアプリケーションのプログラミングについても解説している。 デバッガや逆アセンブラを用いたプログラム解析を学ぶ際にも有用。 ●アマゾンで詳細を確認する |
APIで学ぶWindows徹底理解
プログラミング初心者向けに、API関数やウィンドウメッセージ・プロセス・スレッド・デバッガ・デバイスドライバなど、プログラミングに役立つWindowsの基本事項を、比較的分かりやすく解説している。特にプログラム解析関連ツールの自作を目指す方が、プログラミング以前の基本事項を整理して理解するのに役立つとみられる。 ●アマゾンで詳細を確認する |
APIで学ぶWindowsプログラミング
『APIで学ぶWindows徹底理解』の続編。Visual Studio 2010 Express Editionを用いた基礎的なプログラミングとWindows API解説のセットになっており、プログラミングを始めてみたい方にとっては良質な参考書といえる。プログラミングの実例として簡易バイナリエディタの製作を扱っており、プログラム解析・改造ツールの製作を目指す上でも大いに参考になる。
●アマゾンで詳細を確認する |
たのしいバイナリの歩き方
書名が示すように「楽しさを見つける」ことに主眼を置いて、リバースエンジニアリング、PCゲーム解析および脆弱性解析などを例を挙げて解説している。また、プログラム解析の基礎事項などは大胆に絞り込んで解説しており、枝葉にとらわれない大局的な理解からのスタートを説いている。プログラム解析に興味のある方が、自分の興味や適性と合致する分野を見定める、「マッチング」に役立つと見られる。 なお、本書にあるOllyDbg日本語化手順では日本語化が完了せず文字化けが生じるため、OllyDbg日本語化パッチの同梱説明書を参照して日本語化を完了させてください。 ●アマゾンで詳細を確認する |
オンラインゲームセキュリティ
オンラインゲームへのチート行為とその対策について、攻守両方の視点から、技術情報に加えて根底にある思考・行動パターンまで分かりやすく解説している。オンラインゲームに関する不正行為だけではなく、ゲーム関連に限定されない通信技術上の問題も扱っており、情報セキュリティ面で参考になる解説もある。また、ソフトウェア・ハードウェアを問わない、ゲームの不正コピー等に係る歴史と事例および問題点を丹念に解説しており、ゲームを取り巻く諸問題の資料としても有用といえる。 ●アマゾンで詳細を確認する |
ハッカー・プログラミング大全 攻撃編
プログラム解析ではなくコンピュータセキュリティの技術解説書。だが、グローバルフック、カーネルドライバおよびAPIフック等に関する分かりやすい解説は、ユーザーモードやカーネルモードで動作するプログラム解析・改造ツールの作成においても参考になる。また、APIフックに加えて「Windows Shellcode Programming」等、PCゲーム等に用いられるプログラム解析対策にも関連するプログラミング手法の解説もある。 ●アマゾンで詳細を確認する |
セキュアソフトウェア
「Exploiting Software」の邦訳。文章量は少ないものの、デバッガ自作等、他の同種の書籍には見られないプログラム解析に関する解説がある。 また、rootkitによるプロセス隠蔽といった、rootkitの基本的な仕組みについてのソースコードを交えた解説もあり、プログラム解析の参考となる。 ●アマゾンで詳細を確認する |
アナライジング・マルウェア
マルウェアの解析に特化したツールやテクニックの解説。情報セキュリティ分野のエキスパート達による、アンパックなどの実践的な解説は、一般的なプログラム解析を学ぶ上でも参考になる。この書籍の読解にはプログラミングの知識が必要となる。 ●アマゾンで詳細を確認する |
リバースエンジニアリングツールGhidra実践ガイド
Ghidraの使用方法に係る文章は平易で読みやすい。CTF的な問題の解析、マルウェア解析およびAndroidアプリの解析など、分野が異なる複数のアプローチ例は、読者がGhidraの各機能を俯瞰し、またプログラム解析に係る知識を補完し、さらに掘り下げて学ぶ端緒となりうる。なお、プログラム解析の基礎事項について若干の解説があるものの、この本の読解には、逆アセンブラや逆コンパイラを扱うための、プログラム解析およびC/C++言語プログラミング等の知識が必要となる。 類書に後掲『The IDA Pro Book』の著者が執筆した『The Ghidra Book』とその邦訳『マスタリングGhidra』あり。 ●アマゾンで詳細を確認する |
リバースエンジニアリングバイブル
プログラムコード難読化を含むアンチデバッグ技法などの詳しい解説があり、リバースエンジニアリングに関連する知識の補強に役立つとみられる。ただし、著者が過去に携わった「カーネルモードで行うオンラインゲーム解析対策」に係る記述はほとんど無い。なお、この書籍では、読者はC/C++言語の基本的なコーディング能力を有することが前提となっている。 ●アマゾンで詳細を確認する |
The IDA Pro Book 第2版
IDA Proの各機能(デバッガ含む)を使用例を交えて詳細に解説している。また、パッカーやデバッガ検出などの解析対策とその対処方法や、脆弱性解析についての説明もある。そのため、本格的なプログラム解析を始める際の速習に適しているといえる。
この書籍を読解するためには、逆アセンブラやデバッガを扱う上での、アセンブリ言語やプログラミングの基礎知識が必須となる。 ●アマゾンで詳細を確認する |
Advanced Windows 第5版
プログラミングという視点を通しての、プロセス等のカーネルオブジェクトやメモリ管理に関する詳細な解説があり、プロセスメモリエディタや他の解析用ツールを製作する上で参考になる。この本の解説を理解するには、プログラミングやカーネルオブジェクトに関する基礎知識が必要となる。 ●アマゾンで詳細を確認する (上巻) ●アマゾンで詳細を確認する (下巻) |
インサイド Windows 第7版
Windowsの内部構造という視点での、プロセス、スレッド、メモリ関連の処理といった「Windowsの内部で行われていること」の詳細な解説があり、高度なプログラム開発・解析の知識とスキルを身につけたい方に役立つ。名著だが、この本の読解には相応のプログラミングの知識が必要なため、プログラム開発・解析の初心者の段階で読むことはお奨めできない(内容を十分に理解できず投げ出すケースが多い)。
●アマゾンで詳細を確認する (上巻) ●アマゾンで詳細を確認する (下巻) ●アマゾンで詳細を確認する (英語版第7版 Part1) ●アマゾンで詳細を確認する (英語版第7版 Part2) |