| インタラクティブ逆アセンブラ | |
|---|---|
IDAのロゴに使われているフランソワーズ・ドービニエの肖像 | |
| 原作者 | イルファク・ギルファノフ |
| 開発者 | ヘックスレイズ |
| 初回リリース | 1991年5月21日[ 1 ] (1991年5月21日) |
| 安定版リリース | 9.2 [ 2 ] / 2025年9月8日 (2025年9月8日) |
| 書かれた | C++ [ 3 ] |
| オペレーティング·システム | Microsoft Windows、Mac OS X、Linux |
| 入手可能な | 英語、ロシア語 |
| タイプ | 逆アセンブラ、逆コンパイラ |
| ライセンス | 独自の |
| Webサイト | hex-rays.com |
インタラクティブ・ディスアセンブラ(IDA)は、コンピュータソフトウェア用の逆アセンブラであり、機械実行可能コードからアセンブリ言語のソースコードを生成します。様々なプロセッサやオペレーティングシステムに対応した多様な実行形式をサポートしています。また、 Windows PE、Mac OS X Mach-O、Linux ELF実行ファイルのデバッガとしても使用できます。解析対象プログラムの高水準なCソースコード風表現を生成するデコンパイラプラグインは、別途料金で利用可能です。[ 4 ] [ 5 ]
IDAは、マルウェア解析[ 6 ] [ 7 ]やソフトウェアの脆弱性調査[ 8 ] [ 9 ]など、ソフトウェアのリバースエンジニアリングで広く使用されています。IDAのデコンパイラは、最も人気があり、広く使用されているデコンパイルフレームワークの1つであり、[ 10 ] [ 11 ] [ 12 ]、IDAはプログラム逆アセンブリと静的バイナリ解析の「事実上の業界標準」と呼ばれています。[ 13 ] [ 14 ] [ 15 ]
歴史
イルファク・ギルファノフは1990年にIDAの開発を開始し、[ 16 ] [ 17 ] [ 18 ] [ 19 ]、当初はシェアウェアとして配布していました。1996年、ベルギーの企業DataRescueがIDAの開発を引き継ぎ、IDA Proという名前で商用製品として販売を開始しました。[ 20 ] [ 21 ]
IDAの初期バージョンにはグラフィカルユーザーインターフェース(GUI)がなく、拡張されたDOS、OS/2、またはWindowsコンソールアプリケーションとして実行されました。[ 22 ] 1999年に、DataRescueはGUIを備えたIDA Proの最初のバージョンであるIDA Pro 4.0をリリースしました。[ 23 ]
2005年、ギルファノフはHex-Rays Decompiler IDA拡張機能の開発を進めるためにHex-Raysを設立しました。[ 24 ] [ 25 ] 2008年1月、Hex-RaysはDataRescueのIDA Proの開発とサポートを引き継ぎました。[ 26 ] [ 27 ]
2022年、Hex-Raysは、欧州のベンチャーキャピタルおよびプライベートエクイティ投資家であるSmartfinが率いる投資家グループに買収されました。この買収の共同投資家には、ベルギーの公的持株会社であるThe Federal Holding & Investment Company (SFPIM)と、ワロン地域の公的投資会社であるRegional Investment Company of Wallonia (SRIW)が含まれていました。[ 28 ] [ 29 ]
特徴
IDAはコンパイルされたプログラムをアセンブリ言語表現に逆アセンブルします。基本的な逆アセンブルに加えて、IDAは逆アセンブルされたプログラムに以下の情報を自動的に注釈付けします。[ 30 ]
しかし、逆アセンブリの性質上、完全な正確性は保証されず、必然的に多くの人間の介入が必要になります。IDAには、逆アセンブリの改善を支援するインタラクティブな機能が備わっています。典型的なIDAユーザーは、自動生成された逆アセンブリリストを基に、セクションをコードからデータへ、あるいはその逆へ変換し、リストの名前を変更したり、注釈を付けたり、その他の情報を追加したりして、機能が明確になるまで作業を進めていきます。
スクリプト
「IDCスクリプト」を使用すると、逆アセンブラの動作を拡張できます。ユーザーが記述するスクリプトのベースとして使用できる便利なスクリプトがいくつか用意されています。スクリプトは、生成されたコードに追加の変更を加えるために最もよく使用されます。例えば、元のソースコードの関数名を使用して外部シンボルテーブルをロードできます。
ユーザーは、IDCの代わりに、あるいはIDCに加えて、他の一般的なスクリプト言語を使用できるようにするプラグインを作成しています。IdaRUB [ 31 ]はRubyをサポートし、IDAPython [ 32 ]はPythonのサポートを追加します。バージョン5.4以降、IDAPython(Python 2.5に依存)はIDA Proにプリインストールされています。
デバッグ
IDA Proは、次のような多くのデバッガーをサポートしています。 [ 33 ]
- リモート Windows、Linux、Mac アプリケーション (Hex-Rays 提供) では、ネイティブ環境で実行ファイルを実行できます (マルウェア用の仮想マシンを使用していると思われます)
- GNU デバッガ(gdb) は Linux と OS X だけでなく、ネイティブ Windows デバッガでもサポートされています。
- Bochsプラグインは、単純なアプリケーション(破損したUPXまたはmpress圧縮実行ファイルなど)をデバッグするために提供されています。
- Intel PINベースのデバッガー
- トレース再生装置
バージョン
IDA Proの最新のフルバージョンは、有料の年間サブスクリプション(2024年12月現在、バージョン9.0sp1)で入手できます。一方、IDA Freeと呼ばれる、機能が少ないバージョン(x86に限定)は無料でダウンロードできます。[ 34 ]
サポートされているシステム/プロセッサ/コンパイラ
- システムホスト
- Windows x86 および ARM
- Linux x86
- macOS x86とAppleシリコン
- 認識される実行可能ファイル形式
- 命令セット
- Intel 80x86ファミリー
- ARMアーキテクチャ
- モトローラ 68kと H8
- ザイログ Z80
- MOS 6502
- インテル i860
- DECアルファ
- アナログ・デバイセズADSP218x
- アングストレムKR1878
- Atmel AVRシリーズ
- DECシリーズPDP11
- 富士通 F2MC16L/F2MC16LX
- 富士通 FR 32ビットファミリ
- 日立SH3 /SH3B/ SH4 /SH4B
- 日立 H8 : h8300/h8300a/h8s300/h8500
- Intel 196 シリーズ: 80196/80196NP
- Intel 51 シリーズ: 8051/80251b/80251s/80930b/80930s
- Intel i960シリーズ
- Intel Itanium (ia64) シリーズ
- Java仮想マシン
- MIPS : mipsb/mipsl/mipsr/mipsrl/r5900b/r5900l
- マイクロチップ PIC: PIC12Cxx/PIC16Cxx/PIC18Cxx
- MSIL
- 三菱7700ファミリー: m7700/m7750
- 三菱 m32/m32rx
- 三菱 M740
- 三菱 m7900
- Motorola DSP 5600x ファミリー: dsp561xx/dsp5663xx/dsp566xx/dsp56k
- モトローラ コールドファイア
- モトローラ HCS12
- NEC 78K0/78K0S
- PA-RISC
- パワーPC
- RISC-V
- キセノンPowerPCファミリー
- SGS-トムソン ST20/ST20c4/ST7
- SPARCファミリー
- サムスンSAM8
- シーメンス C166
- TMS320Cxxxシリーズ
- コンパイラ/ライブラリ(自動ライブラリ関数認識用)[ 35 ]
- DOS/Windows 用Borland C++ 5.x
- ボーランドC++ 3.1
- DOS/Windows 用 Borland C Builder v4
- Cygwin用 GNU C++
- マイクロソフトC
- クイックC
- ビジュアルC++
- Watcom C/C++ (16/32 ビット) DOS およびOS/2用
- ARM C v1.2
- Unix/common 用の GNU C++
ロゴ
IDA Pro のロゴは、マントノン侯爵夫人フランソワーズ ドービニエの画像をトリミングしたものです。ロゴ画像は、ピエール・ミニナールのサークルの画家であると証明されたフランソワーズ・ドービニエの細密画に似ています。[ 36 ]
オリジナルのグレースケール版のロゴは、1999年9月にIDA 4.0のリリースとともに導入されました。[ 18 ]イルファク・ギルファノフは、このロゴはルーヴァンの聖イダを描いたものではないと述べています。[ 37 ]
参照
参考文献
- ^ Czokow, Geoffrey (2021年5月20日). 「IDA:バイナリ解析イノベーション30周年を祝う」 Hex -Rays . 2023年3月19日閲覧。
- ^ 「IDA 9.2リリース」 2025年9月8日。 2025年11月14日閲覧。
- ^ “Hex-rays Home” . 2024年5月26日時点のオリジナルよりアーカイブ。 2008年3月31日閲覧。
- ^ Eagle, Chris (2011). 「第23章 実世界のIDAプラグイン」. IDA Pro Book: 世界で最も人気のある逆アセンブラの非公式ガイド(第2版). サンフランシスコ: No Starch Press. pp. 500– 502. ISBN 978-1-59327-395-8. OCLC 830164382 .
- ^ 「Hex-Rays Decompiler」 . hex-rays.com . 2023年3月18日閲覧。
- ^ Staff, SC (2017-09-11). 「Hex-Rays IDA Pro」 . SC Media . 2023年3月13日閲覧。
- ^シコルスキー、マイケル (2012). 「第5章 IDA Pro」. 『実践マルウェア分析:悪意あるソフトウェアを分析するための実践ガイド』 . アンドリュー・ホニグ. サンフランシスコ: No Starch Press. ISBN 978-1-59327-430-6. OCLC 830164262 .
- ^ Shoshitaishvili, Yan; Wang, Ruoyu; Salls, Christopher; Stephens, Nick; Polino, Mario; Dutcher, Andrew; Grosen, John; Feng, Siji; Hauser, Christophe; Kruegel, Christopher; Vigna, Giovanni (2016-05-22). 「SOK: (State of) the Art of War: Offensive Techniques in Binary Analysis」. 2016 IEEE Symposium on Security and Privacy (SP) . pp. 138– 157. doi : 10.1109/SP.2016.17 . hdl : 11311/1161277 . ISBN 978-1-5090-0824-7。
- ^ Guo, Wei; Wei, Qiang; Wu, Qianqiong; Guo, Zhimin (2022-04-01). 「CSChecker: 静的テイント解析に基づくバイナリテイントベースの脆弱性検出手法」 . Journal of Physics: Conference Series . 2258 (1) 012069. Bibcode : 2022JPhCS2258a2069G . doi : 10.1088/1742-6596/2258/1/012069 . ISSN 1742-6588 .
- ^ Yakdan, Khaled; Eschweiler, Sebastian; Gerhards-Padilla, Elmar; Smith, Matthew (2015). No More Goto: Decompilation Using Pattern-Independent Control-Flow Structuring and Semantics-Preserving Transformations . doi : 10.14722/ndss.2015.23185 . ISBN 978-1-891562-38-9. 2023年3月18日閲覧。
{{cite book}}:|website=無視されました (ヘルプ) - ^ Schulte, Eric; Ruchti, Jason; Noonan, Matt; Ciarletta, David; Loginov, Alexey (2018). 「進化する正確な逆コンパイル」 . Proceedings 2018 Workshop on Binary Analysis Research . Reston, VA: Internet Society. doi : 10.14722/bar.2018.23008 . ISBN 978-1-891562-50-1。
- ^ Liu, Zhibo; Wang, Shuai (2020-07-18). 「これまでの歩み:Cデコンパイラのデコンパイル精度テスト」 . Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis . ISSTA 2020. ニューヨーク、ニューヨーク州、米国:Association for Computing Machinery. pp. 475– 487. doi : 10.1145/3395363.3397370 . ISBN 978-1-4503-8008-9。
- ^ Di Federico, Alessandro; Payer, Mathias; Agosta, Giovanni (2017-02-05). 「Rev.ng: CFGSと関数境界を復元するための統合バイナリ解析フレームワーク」 . Proceedings of the 26th International Conference on Compiler Construction . CC 2017. ニューヨーク、ニューヨーク州、米国: Association for Computing Machinery. pp. 131– 141. doi : 10.1145/3033019.3033028 . ISBN 978-1-4503-5233-8広範囲にわたる評価では、
GCC と clang を使用して MIPS、ARM、x86-64 用にコンパイルされたバイナリで [バイナリ分析] ツールをテストし、業界の最先端ツールである IDA Pro と、よく知られている 2 つの学術ツールである BAP/ByteWeight と angr と比較します。
- ^ Garcia Prado, Carlos; Erickson, Jon (2018年4月10日). 「Hex-Rays APIによるアドホック問題の解決」 . FireEye脅威調査ブログ. 2022年6月2日時点のオリジナルよりアーカイブ。 2023年3月12日閲覧。IDA
Proは、バイナリリバースエンジニアリングにおける事実上の標準です。
- ^ Andriesse, Dennis (2019). 「付録C:バイナリ解析ツール一覧」.実践的なバイナリ解析:バイナリ計測、解析、逆アセンブリのためのLinuxツール構築. サンフランシスコ、カリフォルニア州: No Starch Press, Inc. ISBN 978-1-59327-913-4。OCLC 1050453850。
この [IDA Pro] は、事実上の業界標準の再帰逆アセンブラです。
- ^ Гильфанов、Ильфак (2003 年 5 月 22 日)。「IDA Pro - サムイ・モシュニー・ディザッセンブラー対泥沼」IDA Pro - 最高のパフォーマンスとパフォーマンス[IDA Pro - 世界で最も強力な逆アセンブラ] (インタビュー) (ロシア語)。 АлексейのДоляがインタビューしました。 Компания「Ф-Центр」。秒2.30。2021年5月15日のオリジナルからアーカイブ。2023 年3 月 14 日に取得。
1991 年の映画は、1991 年に公開された映画です。
- ^ "IDA Pro - Часто задаваемые вопросы" . 2003 年 12 月 19 日のオリジナルからアーカイブ。Первые
строки для IDA были написаны в декабре 1990.
- ^ a b Czokow, Geoffrey (2021年5月20日). 「IDA:バイナリ解析イノベーション30周年を祝う」 Hex -Rays . 2023年3月19日閲覧。
- ^ 「Hex Rays - 最先端のバイナリコード解析ソリューション」 hex-rays.com . 2023年5月31日時点のオリジナルよりアーカイブ。 2023年7月21日閲覧。
- ^ Guilfanov, Ilfak (2015 年 6 月 22 日)、CODE BLUE 2014 : Ilfak Guilfanov - Keynote: The story of IDA Pro、2023 年 3 月 16 日閲覧、
1996 年に Datarescue が私の趣味のプロジェクトを商用プログラムに変換しました。
- ^ 「DataRescue IDA Pro Page」 . DataRescue . 1997年2月14日時点のオリジナルよりアーカイブ。
- ^ 「DataRescue IDAページ:評価版のダウンロード」。DataRescue 。 1997年2月14日時点のオリジナルよりアーカイブ。
- ^ 「DataRescue IDA Pro What's new Page」 . DataRescue . 1999年10月10日時点のオリジナルよりアーカイブ。
- ^ “Gegevens van de geregistreerde entiteit | KBO Public Search” . kbopub.economie.fgov.be 。2023-03-13に取得。
- ^ 「Hex-Rays Decompiler」 . Hex-Rays . 2007年10月11日時点のオリジナルよりアーカイブ。
- ^ 「DataRescueホームページ:IDA Pro逆アセンブラーとPhotoRescueのホームページ」。DataRescue 。 2008年2月21日時点のオリジナルからのアーカイブ。
ニュース 2008年7月1日:IDA ProがHex-Raysに移行。
- ^ 「Hex-Raysホームページ」 . Hex-Rays . 2008年2月12日時点のオリジナルよりアーカイブ。
- ^ 「投資家コンソーシアムがHex-Raysを買収 – Hex Rays」 2022年10月19日。2023年7月21日時点のオリジナルよりアーカイブ。 2023年7月21日閲覧。
- ^ 「News Industry | Smartfin主導のコンソーシアムがHex-Raysを買収し、製品イノベーションの取り組みを加速」 Help Net Security . 2022年10月20日. 2023年7月21日時点のオリジナルよりアーカイブ。 2023年7月21日閲覧。
- ^ Eagle, Chris (2011). 「パートII. IDAの基本的な使い方」. IDA Pro Book: 世界で最も人気のある逆アセンブラの非公式ガイド(第2版). サンフランシスコ: No Starch Press. ISBN 978-1-59327-395-8. OCLC 830164382 .
- ^ “Spoonm/Idarub” . GitHub . 2016年1月8日時点のオリジナルよりアーカイブ。2011年12月5日閲覧。
- ^ “Idapython [d-dome.net]” . 2006年1月16日時点のオリジナルよりアーカイブ。
- ^ Eagle, Chris (2008). The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler . No Starch Press . ISBN 978-1-59327-178-7。
- ^ 「IDA Pro フリーウェア版ダウンロード」。2008年8月8日時点のオリジナルよりアーカイブ。2008年3月31日閲覧。
- ^ 「FLIRTコンパイラサポート」 Hex -Rays。2011年10月3日時点のオリジナルよりアーカイブ。2010年4月13日閲覧。
- ^ “Französische Schule、Nachfolge Pierre Mignard - Osterauktion 17.04.2019 - Schätzwert: EUR 1.500 bis EUR 2.600 - Dorotheum" . www.dorotheum.com (オーストリア系ドイツ語)。2023-08-14 のオリジナルからアーカイブされました。2024 年 7 月 8 日に取得。
- ^ Guilfanov, Ilfak (2006年4月13日). 「Sainte Ida | Hex Blog」 . Hex Blog . 2011年6月17日時点のオリジナルよりアーカイブ。 2024年7月8日閲覧。
さらに読む
- エイラム、エルダッド(2005年)『リバーシング:リバースエンジニアリングの秘密』ワイリー出版、595頁。ISBN 0-7645-7481-7。
外部リンク
- 公式サイト
- 「IDA Pro on Internet Archive」(ロシア語)。 2015年1月16日時点のオリジナルよりアーカイブ。
- 「IDA プラグインとスクリプト」。オープンリバースコードエンジニアリング (OpenRCE)。