IDA ユーザなら知っておくべき マントノン侯爵夫人にモテる 7つの法則 
2014/07/20 日本 IDA ユーザ会 
中津留 勇
マントノン侯爵夫人 
2
http://ja.wikipedia.org/wiki/マントノン侯爵夫人フランソワーズ・ドービニェ 
3
4
5
あれ? 
6
7
ファッ?! 
8
9
どう見ても同一人物です 
本当にありがとうござい ました 
10
Interactive DisAssembler 
11 
IDA とは? 
私と対話でき ない人なんて クズよ!
IDA モテテク その① 
まずは話を聞いてあげよう 
私ってばー 
真面目な感じに 
見られるんだけど 
意外にー 
12
IDA-View 
13 
逆アセンブルした結果を ブロック単位でグラフ表示する 
「グラフビュー」
IDA-View 
14 
スペースキーで単純表示の 「テキストビュー」に切り替え
IDA-View あれこれ 
15 
API 呼び出し 
自動: 藍色 
手動: 青色 
参照元 
コメント
16 
16進数表示やインポート関数一覧
17 
関数一覧や文字列一覧
IDA モテテク その② 
間違いを訂正して賢さアピール☆ 
ハッカーって攻撃 するんでしょー こわいねー 
18
IDA と向き合う心構え 
1. 自動解析に完璧は存在しない 
•実はデータではなく命令 
•実はライブラリ関数 
2. 高機能なメモ帳と思う 
•関数や変数等に名前をつける 
•コメントを書く 
•関数のプロトタイプ宣言を書く 
•人が見て分かる表示形式に変更する 
19
間違いは修正してあげる 
データ定義の修正 
20 
キーアサイン 
内容 
U 
選択した場所を「未定義」にする 
C 
選択した場所を「コード」にする 
D 
選択した場所を「データ」にする 
P 
選択した場所を「関数」にする 
A 
選択した場所を「文字列」にする 
* 
選択したデータを「配列」にする
高機能なメモ帳 
名前の追加 
表示変更 
21 
キーアサイン 
内容 
N 
関数や変数等に名前をつける 
: 
コメントを書く 
; 
リピータブルコメントを書く 
Y 
関数にプロトタイプ宣言をつける 
(引数名を自動的にコメントしてくれる) 
H 
16進数表示と 10進数表示を切り替える 
R 
16進数表示と ASCII 文字表示を切り替える 
右クリック 
Symbolic Constant 
16進数表示と定数名表示を切り替える
Before 
アセンブリを 眺めるだけでは さっぱり
After 
•色付け 
•GUID 等の名前解決 
•構造体オフセットを 適用 
•引数名をコメント 
•定数を意味のわかる 文字列に
IDA モテテク その③ 
思い出はこまめに記録しておこう! 
こんなところにも 行ったよねー 
ウフフー 
24
http://www.hexblog.com/?p=415
IDB を保存 or Snapshot 
26
IDA モテテク その④ 
アクセサリーのプレゼント攻撃❤ 
新しい真珠の ネックレス ほしいんだよねー 
27
オススメのアクセサリー 
プラグイン 
•Hex-Rays Decompiler (x86/x64/ARM) 
•BinDiff 
•FindCrypt 3 
•OllyMigrate 
スクリプト 
•ClassAndInterfaceToNames.py 
•shellcode_hash_search.py 
•struct_typer_plugin.py 
•reiat.py 
28
IDA モテテク その⑤ 
やっぱり手作りは好感度アップ☆ 
手作りなんて 感動しちゃった (グスン 
29
自作できるもの 
•関数のプロトタイプ、構造体、列挙型 等のデータベース 
Type Library (.til) 
•ライブラリ関数をシグネチャ化したも の 
Signature (.sig) 
•IDA Python や IDC のスクリプト 
•PySide を使うことで高度なものも作成 可能 
スクリプト (.py, .idc, etc…) 
30
自作スクリプト例 
31 
Python, IDC で作成可能 
api_args.py 
•API の引数を自動コメント 
operand2constant.py 
•数値を定数文字列に自動変換 
color_jc.py 
•jmp や call に色付け
自作ライブラリ・シグネチャ例 
32 
SDK で作成するか、解析済み IDB から習得 
NDK.til 
•NDK のライブラリ 
zeus.til, etc… 
•マルウェア固有のライブラリ 
api.til 
•シェルコードやマルウェアが使用する API ハッシュをまとめた ライブラリ 
zlib.sig, openssl.sig 
•マルウェアがたまに使うライブラリファイルのシグネチャ
IDA モテテク その⑥ 
運動して一緒に汗を流そう! 
汗をかくって 気持ちいね! 
33
デバッガ機能 
34 
IDA は読むだけじゃない! 
Local Debugger 
Remote Debugger 
WinDbg 
Bochs 
Appcall
デバッグの流れ 
デバッガ選択 
デバッグ設定 
デバッグ 
Take memory snapshot 
35
x64 User-mode Debugger 
付属のリモートデバッガを使えば可能 
36
IDA モテテク その⑦ 
最後は親に挨拶 
私たちの将来、 ちゃんと考えてるん だね・・・❤ 
37
38 
https://hex-rays.com/products/ida/training/index.shtml 
国内でも開催可能!
39 
今日から君もモテモテだ!! THANK YOU!

IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則