Interactive Disassembler

Interactive Disassembler
Original author(s)Ilfak Guilfanov
Developer(s)Hex-Rays
Initial releaseMay 21, 1991; 33 years ago (1991-05-21)[1]
Stable release
9.0[2] / September 30, 2024; 53 days ago (2024-09-30)
Written inC++[3]
Operating systemMicrosoft Windows, Mac OS X, and Linux
Available inEnglish, Russian
TypeDisassembler, Decompiler
LicenseProprietary
Websitehex-rays.com/ida-pro/

The Interactive Disassembler (IDA) is a disassembler for computer software which generates assembly language source code from machine-executable code. It supports a variety of executable formats for different processors and operating systems. It can also be used as a debugger for Windows PE, Mac OS X Mach-O, and Linux ELF executables. A decompiler plug-in, which generates a high level, C source code-like representation of the analysed program, is available at extra cost.[4][5]

IDA is used widely in software reverse engineering, including for malware analysis[6][7] and software vulnerability research.[8][9] IDA's decompiler is one of the most popular and widely used decompilation frameworks,[10][11][12] and IDA has been called the "de-facto industry standard" for program disassembly and static binary analysis.[13][14][15]

  1. ^ Czokow, Geoffrey (2021-05-20). "IDA: celebrating 30 years of binary analysis innovation". Hex-Rays. Retrieved 2023-03-19.
  2. ^ "IDA 9.0". Archived from the original on September 30, 2024. Retrieved Nov 13, 2024.
  3. ^ "Hex-rays Home". Archived from the original on 2024-05-26. Retrieved 2008-03-31.
  4. ^ Eagle, Chris (2011). "Chapter 23: Real-World IDA Plug-ins". The IDA Pro Book : the Unoffical Guide to the World's Most Popular Disassembler (2nd ed.). San Francisco: No Starch Press. pp. 500–502. ISBN 978-1-59327-395-8. OCLC 830164382.
  5. ^ "Hex-Rays Decompiler". hex-rays.com. Retrieved 2023-03-18.
  6. ^ Staff, S. C. (2017-09-11). "Hex-Rays IDA Pro". SC Media. Retrieved 2023-03-13.
  7. ^ Sikorski, Michael (2012). "Chapter 5. IDA Pro". Practical Malware Analysis : a Hands-On Guide to Dissecting Malicious Software. Andrew Honig. San Francisco: No Starch Press. ISBN 978-1-59327-430-6. OCLC 830164262.
  8. ^ 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): 138–157. doi:10.1109/SP.2016.17. hdl:11311/1161277.
  9. ^ Guo, Wei; Wei, Qiang; Wu, Qianqiong; Guo, Zhimin (2022-04-01). "CSChecker : A binary taint-based vulnerability detection method based on static taint analysis". Journal of Physics: Conference Series. 2258 (1): 012069. doi:10.1088/1742-6596/2258/1/012069. ISSN 1742-6588.
  10. ^ "No More Gotos: Decompilation Using Pattern-Independent Control-Flow Structuring and Semantics-Preserving Transformations". NDSS Symposium. doi:10.14722/ndss.2015.23185. Retrieved 2023-03-18.
  11. ^ Schulte, Eric; Ruchti, Jason; Noonan, Matt; Ciarletta, David; Loginov, Alexey (2018). "Evolving Exact Decompilation". Proceedings 2018 Workshop on Binary Analysis Research. Reston, VA: Internet Society. doi:10.14722/bar.2018.23008.
  12. ^ Liu, Zhibo; Wang, Shuai (2020-07-18). "How far we have come: testing decompilation correctness of C decompilers". Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis. ISSTA 2020. New York, NY, USA: Association for Computing Machinery: 475–487. doi:10.1145/3395363.3397370. ISBN 978-1-4503-8008-9.
  13. ^ Di Federico, Alessandro; Payer, Mathias; Agosta, Giovanni (2017-02-05). "rev.ng: a unified binary analysis framework to recover CFGs and function boundaries". Proceedings of the 26th International Conference on Compiler Construction. CC 2017. New York, NY, USA: Association for Computing Machinery: 131–141. doi:10.1145/3033019.3033028. ISBN 978-1-4503-5233-8. In an extensive evaluation, we test our [binary analysis] tool on binaries compiled for MIPS, ARM, and x86-64 using GCC and clang and compare them to the industry's state of the art tool, IDA Pro, and two well-known academic tools, BAP/ByteWeight and angr.
  14. ^ Garcia Prado, Carlos; Erickson, Jon (April 10, 2018). "Solving Ad-hoc Problems with Hex-Rays API". FireEye Threat Research Blog. Archived from the original on June 2, 2022. Retrieved March 12, 2023. IDA Pro is the de facto standard when it comes to binary reverse engineering.
  15. ^ Andriesse, Dennis (2019). "Appendix C: List of Binary Analysis Tools". Practical binary analysis : build your own Linux tools for binary instrumentation, analysis, and disassembly. San Francisco, CA: No Starch Press, Inc. ISBN 978-1-59327-913-4. OCLC 1050453850. This [IDA Pro] is the de facto industry-standard recursive disassembler.