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

勇 中津留
勇 中津留Sr. Security Researcher - SecureWorks CTU Japan at SecureWorks Japan
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!
1 of 39

Recommended

HamaCTF WriteUp (Unpack category) by
HamaCTF WriteUp (Unpack category)HamaCTF WriteUp (Unpack category)
HamaCTF WriteUp (Unpack category)Shota Shinogi
3.4K views33 slides
GoogleのSHA-1のはなし by
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
45.2K views21 slides
CyberChefの使い方(HamaCTF2019 WriteUp編) by
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)Shota Shinogi
25.3K views42 slides
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015 by
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015
Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015CODE BLUE
5.3K views55 slides
RSA暗号運用でやってはいけない n のこと #ssmjp by
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
58.4K views32 slides
Edomae 2015 - マルウェアを解析してみよう by
Edomae 2015 - マルウェアを解析してみようEdomae 2015 - マルウェアを解析してみよう
Edomae 2015 - マルウェアを解析してみようSatoshi Mimura
17.5K views37 slides

More Related Content

What's hot

Glibc malloc internal by
Glibc malloc internalGlibc malloc internal
Glibc malloc internalMotohiro KOSAKI
62.1K views86 slides
レコメンドアルゴリズムの基本と周辺知識と実装方法 by
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法Takeshi Mikami
38.5K views105 slides
初心者向けCTFのWeb分野の強化法 by
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法kazkiti
15.8K views38 slides
暗認本読書会4 by
暗認本読書会4暗認本読書会4
暗認本読書会4MITSUNARI Shigeo
736 views24 slides
Wireshark だけに頼らない! パケット解析ツールの紹介 by
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介morihisa
51.1K views31 slides
SDCCオープンネットワークのご紹介【2021/01版】 by
SDCCオープンネットワークのご紹介【2021/01版】SDCCオープンネットワークのご紹介【2021/01版】
SDCCオープンネットワークのご紹介【2021/01版】ProjectDC-01
654 views24 slides

What's hot(20)

レコメンドアルゴリズムの基本と周辺知識と実装方法 by Takeshi Mikami
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
Takeshi Mikami38.5K views
初心者向けCTFのWeb分野の強化法 by kazkiti
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti 15.8K views
Wireshark だけに頼らない! パケット解析ツールの紹介 by morihisa
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa51.1K views
SDCCオープンネットワークのご紹介【2021/01版】 by ProjectDC-01
SDCCオープンネットワークのご紹介【2021/01版】SDCCオープンネットワークのご紹介【2021/01版】
SDCCオープンネットワークのご紹介【2021/01版】
ProjectDC-01654 views
CTF for ビギナーズ ネットワーク講習資料 by SECCON Beginners
CTF for ビギナーズ ネットワーク講習資料CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners44.5K views
FPGAによる大規模データ処理の高速化 by Kazunori Sato
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
Kazunori Sato9.5K views
Network miner 使ってみた by 彰 村地
Network miner 使ってみたNetwork miner 使ってみた
Network miner 使ってみた
彰 村地8.1K views
Scapyで作る・解析するパケット by Takaaki Hoyo
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo35.1K views
MCC CTF講習会 pwn編 by hama7230
MCC CTF講習会 pwn編MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
hama72303.2K views
ACRi HLSチャレンジ紹介 by Jun Ando
ACRi HLSチャレンジ紹介ACRi HLSチャレンジ紹介
ACRi HLSチャレンジ紹介
Jun Ando1K views
Deflate by 7shi
DeflateDeflate
Deflate
7shi 16.4K views
CRC-32 by 7shi
CRC-32CRC-32
CRC-32
7shi 30.9K views
CTF超入門 (for 第12回セキュリティさくら) by kikuchan98
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan9881.3K views

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

RISC-Vの基礎、オバービュー(RISC-V basis-overview) by
RISC-Vの基礎、オバービュー(RISC-V basis-overview)RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)Takayasu Shibata
436 views26 slides
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム by
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムJunichi Kakisako
22.1K views52 slides
ツイートID生成とツイッターリアルタイム検索システムの話 by
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話Preferred Networks
12.2K views31 slides
リアルタイムにデータ分析してWebサービスの面白さを伝えたい by
リアルタイムにデータ分析してWebサービスの面白さを伝えたいリアルタイムにデータ分析してWebサービスの面白さを伝えたい
リアルタイムにデータ分析してWebサービスの面白さを伝えたいx1 ichi
1.1K views16 slides
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy by
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyTakeshi Komiya
24.4K views43 slides
20120706-readablecode by
20120706-readablecode20120706-readablecode
20120706-readablecodeMasanori Kado
6.3K views58 slides

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

RISC-Vの基礎、オバービュー(RISC-V basis-overview) by Takayasu Shibata
RISC-Vの基礎、オバービュー(RISC-V basis-overview)RISC-Vの基礎、オバービュー(RISC-V basis-overview)
RISC-Vの基礎、オバービュー(RISC-V basis-overview)
Takayasu Shibata436 views
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム by Junichi Kakisako
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Junichi Kakisako22.1K views
ツイートID生成とツイッターリアルタイム検索システムの話 by Preferred Networks
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話
Preferred Networks12.2K views
リアルタイムにデータ分析してWebサービスの面白さを伝えたい by x1 ichi
リアルタイムにデータ分析してWebサービスの面白さを伝えたいリアルタイムにデータ分析してWebサービスの面白さを伝えたい
リアルタイムにデータ分析してWebサービスの面白さを伝えたい
x1 ichi1.1K views
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy by Takeshi Komiya
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Takeshi Komiya24.4K views
20120706-readablecode by Masanori Kado
20120706-readablecode20120706-readablecode
20120706-readablecode
Masanori Kado6.3K views
Janog31 bof-pattern-sasaki-01 by Ken SASAKI
Janog31 bof-pattern-sasaki-01Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
Ken SASAKI1.1K views
IntelliJ IDEAで快適なPython生活 by 敦志 金谷
IntelliJ IDEAで快適なPython生活IntelliJ IDEAで快適なPython生活
IntelliJ IDEAで快適なPython生活
敦志 金谷3.7K views
DBエンジニアに必要だったPythonのスキル by Satoshi Yamada
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada2.3K views
20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知について by Kazuki Motohashi
20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知について20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知について
20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知について
Kazuki Motohashi1.1K views
パケットキャプチャでインフラ主導のデバッグ環境を作る by cloretsblack
パケットキャプチャでインフラ主導のデバッグ環境を作るパケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作る
cloretsblack7.6K views
Intoroduction of Bad Data Handbook by Atsushi Hayakawa
Intoroduction of Bad Data HandbookIntoroduction of Bad Data Handbook
Intoroduction of Bad Data Handbook
Atsushi Hayakawa1.6K views
Pythonにおけるデバッガツールpdbについて by Ryota Sakamoto
PythonにおけるデバッガツールpdbについてPythonにおけるデバッガツールpdbについて
Pythonにおけるデバッガツールpdbについて
Ryota Sakamoto341 views
hbstudy#6LTyuzorock by yuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
yuzorock669 views
Boost.勉強会 #13 @仙台 鳥小屋 by Yuto M
Boost.勉強会 #13 @仙台 鳥小屋Boost.勉強会 #13 @仙台 鳥小屋
Boost.勉強会 #13 @仙台 鳥小屋
Yuto M1.4K views
ラズパイでネット対応 学習リモコンをつくろう! by Masayuki KaToH
ラズパイでネット対応 学習リモコンをつくろう!ラズパイでネット対応 学習リモコンをつくろう!
ラズパイでネット対応 学習リモコンをつくろう!
Masayuki KaToH520 views
Android勉強会第二回-非同期処理- by Hiroki Sakamoto
Android勉強会第二回-非同期処理-Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-
Hiroki Sakamoto790 views

Recently uploaded

JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
195 views36 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide
how query cost affects search behavior translated in JP by
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JPTobioka Ken
10 views16 slides
onewedge_companyguide1 by
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1ONEWEDGE1
32 views22 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
405 views21 slides
lt.pptx by
lt.pptxlt.pptx
lt.pptxtomochamarika
85 views13 slides

Recently uploaded(7)

JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦195 views
how query cost affects search behavior translated in JP by Tobioka Ken
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JP
Tobioka Ken10 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE132 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo10 views

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