Download - IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
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!