No description, website, or topics provided.
C C++ HTML Python Assembly
Latest commit fa2bdb6 Apr 9, 2015 @kenjiaiko update
Permalink
Failed to load latest commit information.
chap01 update1 Aug 1, 2013
chap02 update user.dmp Apr 9, 2015
chap03 update1 Aug 1, 2013
chap04 3rd test Jul 27, 2013
chap05 update readme Aug 27, 2013
chapXX autotanka update Apr 21, 2014
pics_for_readme
README.md update Apr 9, 2015

README.md

たのしいバイナリの歩き方

書籍「たのしいバイナリの歩き方」で使用するプログラム一式です。
右のサイドバーにある「Download ZIP」をクリックするとすべてのファイルをダウンロードできます。

出版社ページ
http://gihyo.jp/book/2013/978-4-7741-5918-8

著者ブログ(書籍には書けなかった内容などを書いてます)
http://07c00.hatenablog.com/

正誤表

chap02/guitest2/user.dmpのファイルが異なっていたため、
P90にある説明通りの画面になりませんでした。
user.dmpはすでに更新済みなので現在は問題ありません。

P138,P139のスタックの図において $1,$2,$3 の順序が逆です。
(正確には $1 と $3 が逆になります)

P145の syscall.hにおいて各行の先頭が #de ne となっています。
正確には #define です。

また誤植ではありませんが、
P141の実行例にて gdb 内で python を実行するコマンドは、
特殊文字が入り組んでおり分かりにくいですが
(gdb)r "`python -c 'print "A"*80'`"
となっています

VisualC++ 2010 Express版でのビルド方法

拡張子.slnはVC++のソリューションファイルです。
VC++がインストールされていればそのままダブルクリックするだけでOKです。
その後メニューから デバッグ⇒ソリューションのビルド を選択してください。
Release or Debugフォルダ以下に実行ファイル一式が作成されます。

1~2章のサンプルソースをビルドするときの注意点

chap01とchap02に入っているEXEファイルはASLRをオフに設定しています。
しかしプロジェクトファイル(ソースコード)については
ASLRオンのEXEファイルを生成する設定になっています。
そのため、プロジェクトファイルを開き、
ソースコードをそのままビルドして作成したEXEファイルを使うと
本書に書かれている状態とは異なる可能性があります。
(すでにあるEXEファイルを使うばあいは問題ありません)

ASLRをオフにしたEXEファイルを作成したいばあいは以下のページを見てください。
http://07c00.hatenablog.com/entry/2013/08/07/033443

プロセスダンプするツールを作りたい

2章でプロセスダンプを行うツール(ワトソン博士など)を解説しましたが、
それらを作成することもできます。

プロセスダンプするプログラムを作成してみよう!
http://07c00.hatenablog.com/entry/2013/09/07/015519

3章のFreeBSDとUbuntu環境について

OSごと必要なばあいはそれぞれ以下のURLからダウンロードできます。

FreeBSD-8.3
http://07c00.com/tmp/FreeBSD_8.3_binbook.zip

Ubuntu-12.04
http://07c00.com/tmp/Ubuntu-12.04_binbook.zip

ログインのためのuser/passは書籍(3章)を確認してください。
Ubuntuで root になる場合は、一度 guest アカウントでログインした後
sudo su コマンドを実行し root になってください。

起動にはVMWare Playerが必要です。
http://www.vmware.com/products/player/

P159-P160のcolumnについて

P159の「printf系関数に起因するフォーマットストリングバグ」は
以下のページで詳細を解説しています。
興味があれば読んでみてください。

フォーマットストリングバグ(format bug)を試してみる。
http://07c00.hatenablog.com/entry/2013/08/10/112404

4章で触れているデバッガ作成やAPIフックについて

4章で触れているデバッガ作成やAPIフックについて
Linux環境でやりたいばあいは以下のページが参考になると思います。
http://07c00.hatenablog.com/entry/2013/08/31/142001
http://07c00.hatenablog.com/entry/2013/09/02/003629

P226で触れられているCVE-2009-0927の解析動画

本書ではExploitの詳細にはほとんど触れていませんが、
以下の動画でExploitのちょっとした解析をやっています。
興味があれば見てみてください。

Introducing of Security Camp 2013 "Software security class"
http://www.youtube.com/watch?v=eUslcqff6_k

P228-P229のcolumnについて

P229の「msfpayloadを使ってWindows環境で動作するshellcodeを作成」で
画像(コンソール)の文字が潰れてよく見えないかもしれません。
System Console