アマゾンに予約注文していた専門書籍、「Ghidra 実践ガイド」が到着しました。
この書籍はマルウェアなどの不正なプログラムを解析する時に必要となるリバースエンジニアリングの知識を、Ghidra という米国国家安全保障局(NSA)が開発した無料で提供されているツールを使いながら体系的に学べるという、そんなマニアックな技術書です。
700ページ近くもある分厚さで、価格もそれなりで、4千円以上する大作です。
(OllyDbg 解析画面)
わたしは、人様が作ったプログラムの中を覗いたりするときは、この OllyDbg というデバッガを使ったり、IdaPro というディスアセンブラなんかを持ち出したりしてるんですが、 昨年5月ごろだったでしょうか NSA がアプリの解析で使っている Ghidra というツールを無償で公開したというネット記事を見て、速攻でインストールして使ってみたんですが、なんせ情報も少なくて手探りの操作ということもあってなかなか先へ進めず、OllyDbg にも同じ解析対象アプリを読み込ませて比較しながらあれこれ触ってみたんですが、結局、使い慣れた OllyDbg のようには使いこなすことができず、そしてそのまま今日に至っておりました。
で、しばらく前にこの「Ghidra 実践ガイド」発売のことを Twitter で知って、もう速攻で予約したと・・・そんな感じです。
ちなみにこの写真の OllyDbg は、標準のものと違っていて、ほかの解析ツールが簡単に呼び出さるようにカスタマイズされたマニアック仕様になってます。
リバースエンジニアリングを本格的にやってみようというなら、この「リバースエンジニアリングバイブル」という、韓国人技術者が書いた本もお勧めです。
この本も 400ページもある大作で、価格も4千円以上です。
日本語翻訳も韓国人なんですが、これが読み難さはまったく感じない、むしろ生粋の日本人が書いた専門書より読みやすいので、初めて読んだときは、ホント驚きました。
で、「Ghidra 実践ガイド」のページをザックリ捲ってみたんですが、1章の Windows の PE フォーマットの説明がたったの2ページだけで終わってたりするので、この実践ガイドを読み進めるためには、他の副本も必要になるかもしれません。
x86 のアセンブラや ESP、EBP といったスタック、パッカーに関する知識など、ある程度理解していることが前提のような感じがします。
■ ■ ■
OS が 64 ビットが今や普通で、そこで動くアプリも当然 x64 アーキテクチャなんで、もうこれはメモリ空間がとてつもなく大きいので、わたしとしては、もうそういうアプリを悪戯に解析するっていうレベルを遥かに超えているんじゃないかって思っていて、今は人様のアプリを解析するって行為からはすっかり足を洗っている、これが現状だったりします。
精々 x86 のアプリ(OllyDbg も基本的には x86 のデバッガです)までがいいところで、もうリバース、逆から EXE ファイルを解析するような行為は、ただ疲れるだけでなんも得るものがないんじゃないかって、わたしの中では結論付けてるんですよ。
(Ghidra 解析画面)
でも、こういう米国国家安全保障局 NSA が開発したツールの Ghidra みたいなものが公開されちゃったりすると、やっぱ気になっちゃいますね。
広大なアドレス空間を持つ x64 なプログラムの内部に、この Ghidra が持つリバース機能を駆使して、どこまで必要な情報に迫れるのか・・・
期待を込めながら、ページを捲るとします。。。