Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Interactive Disassembler
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Features == IDA disassembles a compiled program back into an assembly language representation. In addition to performing basic disassembly, IDA also automatically annotates disassembled programs with information about:<ref>{{Cite book |last=Eagle |first=Chris |url=https://www.worldcat.org/oclc/830164382 |title=The IDA Pro Book : the Unofficial Guide to the World's Most Popular Disassembler. |date=2011 |publisher=No Starch Press |isbn=978-1-59327-395-8 |edition=2nd |location=San Francisco |chapter=Part II. Basic IDA Usage |oclc=830164382}}</ref> * cross-references between code and data in the program * function locations, function [[stack frame]]s, and function [[calling convention]]s * reconstructed [[data type]]s However, the nature of disassembly precludes total accuracy, and a great deal of human intervention is necessarily required; IDA has interactive functionality to aid in improving the disassembly. A typical IDA user will begin with an automatically generated disassembly listing and then convert sections from code to data and vice versa, rename, annotate, and otherwise add information to the listing, until its functionality becomes clear. === Scripting === "IDC scripts" make it possible to extend the operation of the disassembler. Some helpful scripts are provided, which can serve as the basis for user written scripts. Most frequently scripts are used for extra modification of the generated code. For example, external symbol tables can be loaded thereby using the function names of the original source code. Users have created plugins that allow other common scripting languages to be used instead of, or in addition to, IDC. IdaRUB<ref>{{Cite web |url=https://github.com/spoonm/idarub |title=Spoonm/Idarub |website=[[GitHub]] |access-date=2011-12-05 |archive-date=2016-01-08 |archive-url=https://web.archive.org/web/20160108085820/https://github.com/spoonm/idarub |url-status=live }}</ref> supports [[Ruby programming language|Ruby]] and IDAPython<ref>{{cite web | url=http://d-dome.net/idapython/ | archive-url=https://web.archive.org/web/20060116123556/http://d-dome.net/idapython/ | archive-date=2006-01-16 | title=Idapython [d-dome.net] }}</ref> adds support for [[Python (programming language)|Python]]. As of version 5.4, IDAPython (dependent on Python 2.5) comes preinstalled with IDA Pro. === Debugging === IDA Pro supports a number of debuggers,<ref>{{cite book |last=Eagle |first=Chris |title=The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler |publisher=[[No Starch Press]] |year=2008 |isbn=978-1-59327-178-7}}</ref> including: * Remote Windows, Linux, and Mac applications (provided by Hex-Rays) allow running an executable in its native environment (presumably using a virtual machine for malware) * [[GNU Debugger]] (gdb) is supported on Linux and OS X, as well as the native Windows debugger * A [[Bochs]] plugin is provided for debugging simple applications (i.e., damaged [[UPX]] or mpress compacted executables) * An [[Pin (computer program)|Intel PIN]]-based debugger * A trace replayer
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)