List views (also called choosers or table views) are used in many places in IDA to show lists of different kind of information. For example, the Function list we’ve covered previously is an example of a list view. Many windows opened via the View > Open subviews menu are list views:
Exports
Imports
Names
Strings
Segments
Segment registers
Selectors
Signatures
Type libraries
Local types
Problems
Patched […]
Name mangling (also called name decoration) is a technique used by compilers to implement some of the features required by the language. For example, in C++ it is used to distinguish functions with the same name but different arguments (function overloading), as well as to support namespaces, templates, and other purposes.
Mangled names often end up in the […]
In IDA’s disassembly, you may have often observed names that may look strange and cryptic on first sight: sub_73906D75, loc_40721B, off_40A27C and more. In IDA’s terminology, they’re called dummy names. They are used when a name is required by the assembly syntax but there is nothing suitable available, for example the input file has no […]
The user directory is a location where IDA stores some of the global settings and which can be used for some additional customization.
Default location
On Windows: %APPDATA%/Hex-Rays/IDA Pro
On Linux and Mac: $HOME/.idapro
For brevity, we’ll refer to this path as $IDAUSRin the following text.
Contents/settings
The directory is used to store the processor module caches (proccache.lst and proccache64.lst) as well […]
The 2021 IDA training course will take place online from 10–14 and 17-19 May 2021, CEST time.
Due to the ongoing COVID-19 situation, the world-class IDA Training course is taking place online for the second time from 10-14 and 17-19 May 2021 (CEST time). The course is devised to help professional reverse engineers master IDA […]
Scripting allows you to automate tasks in IDA which can be repetitive or take a long time to do manually. We previously covered how to run them in batch (headless) mode, but how can they be used interactively?
Script snippets
File > Script Command… (Shift+F2)
Although this dialog is mainly intended for quick prototyping and database-specific […]
You may have come across the menu items View > Hide, Unhide but possibly never used them.
These commands allow you to hide, or collapse and unhide/uncollapse parts of IDA’s output. They can be used in the following situations:
Hiding instructions or data items
To make your database more compact and reduce clutter, you can opt to hide […]
IDA has three shortcuts as an alternative to some menus which could be cumbersome to navigate.
Quick view
Probably the most commonly used, it is triggered by the shortcut Ctrl+1 and shows the items under the View > Open subviews menu.
It can be especially useful for opening views which have no dedicated shortcut such as Notepad (although […]
The Functions list is probably one of the most familiar features of IDA’s default desktop layout. But even if you use it every day, there are things you may not be aware of.
Modal version
Available via Jump > Jump to function… menu, or the Ctrl–P shortcut, the modal dialog lets you see the full width of the […]
As explained in Simplex method in IDA Pro, having correct stack change information is essential for correct analysis. This is especially important for good and correct decompilation. While IDA tries its best to give good and correct results (and we’ve made even more improvements since 2006), sometimes it can still fail (often due to wrong […]