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

Post on 20-Jul-2015

1.459 Views

Category:

Engineering

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related