In this document, we covered the basics regarding our licensing model: you can check how to activate your license depending on the license type, what to do with the downloaded license files, and how to finalize license settings while running IDA. This guide is dedicated to individual users.
In Hex-Rays, we offer two basic license types for IDA products, that are suitable for individual users:
Named licenses, that are assigned to specific individuals.
Computer licenses that are assigned to specific devices.
There is also an additional type, called floating licenses, that allow a set number of concurrent users but are not assigned to specific individuals or devices.
Floating licenses are available only for IDA Pro and dedicated to business/organization purposes.
The license file contains your license ID and other data and is required to make your IDA instance fully operative after installation.
You can download your license file from My Hex-Rays portal, after its activation.
To complete the installation, you need an active IDA license with an assigned owner or a MAC address. Without activation, you cannot download your license file.
for named licenses: the email address of the owner,
for computer licenses: the MAC address of a specific device
for floating licenses: the MAC address of the device where the license server will be running
The license type (named/computer) is selected when you purchase your subscription.
Go to My Hex-Rays portal. On the left menu, select a customer to see licenses assigned to it.
Navigate to Licenses -> Subscriptions. On the list, find the license ID and product for which you want to activate the license. Under Actions column, click on the three dots, and then in the dropdown menu, click Activate license.
Your product's license needs to be in a Pending activation status to activate. If you haven't done so before, you'll need to undergo the KYC procedure for paid products.
In the new dialog, assign the ownership of the license: set the email address for this IDA instance user (it can be yours) and select decompilers. Optionally, select a Lumina and Teams server and tick the checkbox to send your license via email.
Click Assign button and then Click to confirm to finalize the assignment.
In the main subscriptions view, click on the three dots under Actions column, and in the dropdown menu, click Download license key to save it locally. You will need it to complete the installation process.
Navigate to the Download center on the left-side menu, locate your IDA product and base on your operating system, select an installer to download.
Now you are ready to install your IDA instance.
Go to My Hex-Rays portal. On the left menu, select a customer to see licenses assigned to it.
Navigate to Licenses -> Subscriptions. On the list, find the license ID and product for which you want to activate the license. Under Actions column, click on the three dots, and then in the dropdown menu, click Activate license.
Your product's license needs to be in a Pending activation status to activate. If you haven't done so before, you'll need to undergo the KYC procedure for paid products.
In the new dialog, assign the ownership of the license: set the MAC address of the machine where this IDA instance will be installed and running (it can be yours) and select decompilers. Optionally, select a Lumina and Teams server and tick the checkbox to send your license via email.
Click Assign button and then Click to confirm to finalize the assignment.
In the main subscriptions view, click on the three dots under Actions column, and in the dropdown menu, click Download license key to save it locally. You will need it to complete the installation process.
Navigate to the Download center on the left-side menu, locate your IDA product and base on your operating system, select an installer to download.
Now you are ready to install your IDA instance.
In this part, we cover the basics of license activation for floating license servers, Teams and Private Lumina servers, and the floating license server.
The Admin Guide covers the comprehensive manual regarding installation and server management.
The server installers and license files are available via My Hex-Rays portal.
Floating licenses are managed by administrators and require a license server to work. If you purchase the floating licenses, you will see an additional license for the license server in your Hex-Rays portal.
Similar to named and computer licenses, license server licenses need to be activated in the My Hex-Rays portal.
Go to My Hex-Rays portal. On the left menu, select a customer to see licenses assigned to it.
Navigate to Licenses -> Subscriptions. On the list, find the license server ID for which you want to activate the license. Under Actions column, click on the three dots, and then in the dropdown menu, click Activate license.
In the new dialog, assign the ownership to the license server and provide the MAC address of the device where the license server will be running.
Click Assign button and then Click to confirm to finalize the assignment.
In the main subscriptions view, click on the three dots under Actions column, and in the dropdown menu, click Download license key to save it locally. You will need it to complete the installation process.
Navigate to the Download center on the left-side menu, and select a license server installer to download.
Server installation for floating licenses should be done by the administrator. Check our Admin Guide for details.
Once your administrator installs a license server, adds particular license seats to the pool, and hands over the credentials, you are ready to install your IDA instance.
You don't need to download a license file/key to your local machine while using the floating licenses server.
Every time you launch IDA, you'll see the License Manager pop-up window. As long as there are free seats, you can borrow one of the available licenses and start using IDA.
Note that some of the available licenses may have different decompilers and add-ons enabled.
Each of our add-ons, Teams and Private Lumina, requires a separate server to work. The server license is provided with the first IDA instance/plan with the specific add-on enabled.
Similar to named/computer licenses and floating license server, the Teams server license needs to be activated in My Hex-Rays portal.
Server installation for Teams should be done by the administrator. Check our Admin Guide for details.
Similar to named/computer licenses and floating license server, the Private Lumina server license needs to be activated in the My Hex-Rays portal.
Server installation for Private Lumina should be done by the administrator. Check our Admin Guide for details.
By following the steps in this guide, you can successfully install your IDA instance on macOS, Linux, and Windows.
The installation steps are valid for all product versions: IDA Pro, IDA Home, or IDA Free (except license registration).
This installation guide is dedicated to individual users.
macOS 12 (Monterey) or later (x64 or ARM64)
x64 (x86_64) CentOS 7 or later, Ubuntu 16.04 or later. Other equivalent distributions may work but not guaranteed.
Windows 8 or later (x64)
Activate your named or computer license via My Hex-Rays portal.
Prerequisites:
Ensure that you have activated your computer/named license and downloaded your license file (ida.hexlic) locally.
Make sure Python 3 or later is installed on your computer for the IDAPython API to function properly.
Step 1: Download the installer
Download the macOS version of IDA Pro from Download Center in My Hex-Rays portal.
Step 2: Run the installer
Extract the .zip archive.
Double-click on the extracted file to run the instalation wizard.
Follow the wizard's instructions to complete the installation:
accept the license agreement and installation directory;
copy your ida.hexlic
file to IDA installation directory or to $HOME/.idapro
directory before launching IDA.
Step 4: Launch IDA Pro for the first time
Double-click on the IDA Pro icon to launch the application.
Step 5: Point to your named/computer license
The step below is valid for named and computer licenses for individual use. If you are going to use floating licenses, check this alternative step.
In the License manager pop-up window, specify the path of your license file and click OK.
You won't be asked about your license again unless the subscription period expires or you move your license file to a different location.
Prerequisites:
Ensure that you have activated your computer/named license and downloaded your license file (ida.hexlic) locally.
Make sure Python 3 or later is installed on your computer for the IDAPython API to function properly.
Verify that you have the required libraries installed. Use your package manager to install any missing dependencies. Common dependencies include libx11
, libxext
, libxrender
, and libglib2.0
.
Step 1: Download the installer
Download the Linux version of IDA Pro from Download Center in My Hex-Rays portal.
Step 4: Run the installer
Navigate to the directory containing your IDA installer, and make it executable.
Run the installer by double-click it or enter ./<your_IDA_version_>linux.run
in the terminal to execute it.
Follow the wizard's instructions to complete the installation:
accept the license agreement and installation directory;
copy your ida.hexlic
file to IDA installation directory or to $HOME/.idapro
directory before launching IDA.
Step 5: Launch IDA Pro for the first time
Go to the directory where IDA is installad and run the command: ./ida90
Step 6: Point to your named/computer license
The step below is valid for named and computer licenses for individual use. If you are going to use floating licenses, check this alternative step.
In the License manager pop-up window, specify the path of your license file and click OK.
You won't be asked about your license again unless the subscription period expires or you move your license file to a different location.
Ensure that you have activated your computer/named license and downloaded your license file (ida.hexlic) locally.
Make sure Python 3 or later is installed on your computer for the IDAPython API to function properly.
Step 1: Download the installer
Download the Windows version of IDA Pro from Download Center in My Hex-Rays portal .
Step 2: Run the installer
Locate the downloaded .exe
file and double-click it to run the installer.
Follow the installation wizard's instructions to complete the installation:
accept the license agreement and installation directory;
copy your ida.hexlic
file to IDA installation directory or to %APPDATA%/Hex-Rays/IDA Pro
directory before launching IDA.
Step 5: Launch IDA Pro for the first time
Navigate to the Start Menu or desktop shortcut and launch IDA Pro.
Step 6: Point to your named/computer license
The step below is valid for named and computer licenses for individual use. If you are going to use floating licenses, check this alternative step.
In the License Manager pop-up window, specify the path of your license file and click OK.
You won't be asked about your license again unless the subscription period expires or you move your license file to a different location.
Step 1: In the License manager pop-up window, select the option Use floating license server and then type a license server hostname provided by your administrator.
Step 2: Borrow one of the licenses visible under the available licenses list and click OK.
Note that you don't need a license file stored on your machine locally while using floating licenses.
Step 1: Update IDA Pro
After installation, check for any available updates. Hex-Rays often releases patches and updates for IDA Pro. You can check for updates within the application via Help -> Check for free update or download the latest version from My Hex-Rays portal.
Step 2: Configure environment (optional)
Customize your IDA Pro environment settings to suit your preferences. This can include configuring hotkeys, and adjusting appearance settings.
Step 3: Install additional plugins (optional)
You can extend the functionality of IDA Pro by installing additional plugins that can be found on the official Hex-Rays website or other trusted sources in the reverse engineering community.
In this document, we'll explore the essentials of IDA capabilities to kickstart your journey and disassemble your first binary file.
Your IDA instance is installed and running.
IDA natively recognizes plenty of file formats and processors.
If you later realize that's not enough, you can always use one of our community plugins that add additional formats or processor types or try to write your own with C++ SDK.
IDA stores the analysis results in the IDA Database files (called IDB), with the extension .i64
. This allows you to save your work and continue from the same point later. After loading a file at the beginning, IDA does not require access to the binary.
Any modifications you make are saved in the database and do not affect the original executable file.
Dive deeper
Blog: Check what exactly IDB contains in Igor's tip of the week about IDA database.
IDA provides decompilers designed to work with multiple processor architectures. The number of decompilers and their type (local or remote) available in your IDA instance depends on your chosen product and subscription plan and affects your ability to produce C-like pseudocode.
Check CrackMe, from where you can download executable files to test your reverse engineering skills.
When you launch IDA, you will see a Quick Start dialog that offers three ways to continue. For now, we'll focus on loading a new file and proceeding to disassembly results.
Launch IDA and in the Quick start dialog (1), click New.
Specify the path for your binary file.
In the Load a new file dialog (2), IDA presents loaders that are suited to deal with a selected file. Accepting the loader default selection and then the processor type is a good strategy for beginners. Click OK to confirm your selection.
IDA begins autoanalysis of your binary file.
After completion, you will be present with the default IDA desktop layout, that we'll describe in the next part.
Dive deeper
After autoanalysis is done, you'll see the main IDA desktop with the initial results. Let's examine the default desktop layout and commonly used UI elements.
Main menu bar (1)
Toolbar (2)
Navigation band (3)
Subviews (4)
Output (5)
Status bar (6)
The main menu bar provides quick access to essential features. Moreover, almost all menu commands can be quickly accessible via customizable shortcuts.
For a handy cheatsheet of all commands and their hotkeys, check Options -> Show command palette....
Dive deeper
Below the main menu bar, you will see a toolbar with icons that give you quick access to common functionalities (available also via the main menu/shortcuts). It has just one line by default, but you can customize it by adding or rearranging your actions.
Dive deeper
The navigation band shows the graphical representation of the analyzed binary file and gives a short overview of its contents and which areas may need your attention. The yellow arrow (indicator) shows where the cursor is currently positioned in the disassembly view.
As you'll soon recognize, the colors used in the nav band match those in other views.
Dive deeper
The output window is a place where various messages and logs are displaying, often descrybing what currently IDA is doing, like analyzing data or running a script. In the CLI box you can type commands in IDC language or IDAPython.
At the bottom left corner of the IDA window, you can see the status bar, which contains:
analysis indicator AU
, which shows the actual status of autoanalysis (1). In our case, it is idle
, which means the autoanalysis is already finished.
search direction indicator (2)
remaining free disk space (3)
Right-clicking on the status bar brings up a context menu that allows you to reanalyze the program.
Dive deeper
The subviews are one of the most prominent parts of your everyday work with IDA. These additional views (behaving like tabs) give a different perspective and information on the binary file, but the number of native IDA subviews may be a bit overwhelming. Here, we will focus on the most versatile and common subviews for beginners, where you'll spend most of the time, like:
IDA View
Pseudocode
Hex Dump View
Local Types
Functions View
When autoanalysis is done, you will see a graph view inside an IDA View by default. This flowchart graph should help you to understand the flow of the functions.
The graph view is available only for the part of the binary that IDA has recognized as functions.
IDA view has three modes:
graph view (1), that shows instructions grouped in blocks,
linear view (2), that lists all instructions and data in order of their addresses,
and proximity view (3), which allows you to see relations between functions, global variables, and other parts of the program.
Press Space
to switch between graph and linear mode. Provimity view is available from the context menu in IDA view.
Dive deeper
In hex view, you can see the raw bytes of the program's instructions.
There are two ways of highlighting the data in this view:
Text match highlight, which shows matches of the selected text anywhere in the views.
Current item highlight, which shows the bytes group constituting the current item.
The IDA view, pseudocode, and hex view can be synchronized, meaning that they highlight the same part of the analyzed program, and changes made inside one of the views are visible in the others.
Dive deeper
Generated by the famous F5
shortcut, the pseudocode shows the assembly language translated into human-readable, C-like pseudocode. Click Tab
to jump right into the Pseudocode view.
This view shows the high-level types used in databases, like structs or enums.
Dive deeper
This window displays all the functions recognized by IDA, along with key details for each:
Function name
Segment the segment that contains the function
Start: the function starting address
Length: the size of the function in bytes
Local: the amount of stack space taken by local variables
Arguments: the amount of stack space taken by arguments
By default, the entire window is not visible, so you may scroll horizontally to see the hidden elements. As you proably noticed, the colors in Functions window match the colors in navigation band; in our example, green higlightning shows functions recognized by Lumina.
This view is read-only, but you can automatically synchronize the function list with the IDA view, pseudocode, or hex view. Click to open the context menu and select Turn on synchronization.
Dive deeper
A crucial step in mastering IDA is learning how to navigate quickly to specific locations in the output. To help you get started, we'll cover essential commands and hotkeys commonly used for efficient navigation in IDA.
When you double-click on an item, such as a name or address, IDA automatically jumps to that location and relocate the display.
Go to Jump -> Jump to address.. or press G
hotkey
Enter the item name or hex address in the dialog box, then click OK.
To jump back to the previous position, press Esc
. To jump to the next position, press Ctrl + Enter
. You can also navigate using the arrows in the toolbar.
Position the cursor on a function or instruction, then go to Jump -> Jump to xref to operand... or press X
to see the dialog with listed all cross-references to this identifier.
Select an item from the list and click OK to jump to that location.
Dive deeper
Now that the initial autoanalysis is done and you’ve mastered the basics of navigation, it’s time to explore the basic interactive operations that reveal the true power of IDA in transforming your analysis.
One of the first steps you might take is to enhance readability by assigning meaningful names to local or global variables, but also functions, registers and other objects that IDA initially assigned a dummy name.
In the IDA View, right-click on the variable you want to rename and click Rename or press N
when the variable is cursor-highlighted.
In the newly opened dialog, insert a new name and click OK.
If at any point you want to go back to the original dummy name given by IDA, leave the field blank and click OK. It will reset the name to the default one.
Once you change the name, IDA will propagate the changes through the decompiler and Pseudocode view.
Dive deeper
Adding comments may be a useful way to annotate your work.
Highlight the line where you want to insert a comment and press :
.
In the dialog box, type your comment (you can use multiple lines) and click OK. This will add a regular (non-repeatable) comment to the location.
If you want to add a repeatable comment in every location that refers to the original comment, press ';'.
Dive deeper
Nearly every UI element is customizable, allowing you to rearrange and align widgets to suit your habits. You can save your personalized desktop layout by going to Windows -> Save desktop.
Most of the basic appearance you can change under Options menu.
To change the colors or theme, go to Options -> Colors.
To change the font, go to Options -> Fonts.
If you need more control over customization settings, you may check the IDA configuration files.
If you are ready to delve into dynamic analysis and start debugging your programs, here are some key steps to get you started:
Select the right debugger and complete the setup: Go to Debugger -> Select debugger... and pick up one of the avaliable debuggers. Under Debugger -> Debugger options, you can configure the setup in detail.
Add breakpoints: Right-click on the line where you want to stop the execution and select Add breakpoint from the context menu, or press F2
.
Start the process: Run the debuggin session by pressing F9
or click a green arrow on the tooltip.
Dive Deeper
One of the most common way of extanding IDA capabilities is to use on of our community-developed plugins.
You can find a variety of plugins in the official Hex-Rays plugin repository
For this guide purposes, we'll walk you through general installation steps.
The installation process can vary depending on the plugin and some of them may required installing dependencies or further configuration. Don't hesitate to refer to the specific instructions provided by the plugin author.
Copy your plugin folder to the plugins directory inside your IDA installation directory.
Alternatively, you can load the plugin from the command line in IDA by using File -> Script file... and selecting app.entry.py
file.
Navigate to Edit -> Plugins -> your_plugin_name or use the assigned hotkey.
You may need to restart IDA to see your plugin in the list.
Dive deeper
Here's a handy list of all of the shortcuts we used so far.
Space
Switches between graph and linear mode in the IDA View
F5
Generates pseudocode
Tab
Jumps into pseudocode View
G
Opens Jump to address dialog
Esc
Jumps back to the previous position
Ctrl + Enter
Jumps to the next position
X
Shows the list of all cross-references
N
Opens dialog to rename the current item
;
Adds repeatable comment
:
Adds regular comment
First experience with IDA? Great, you are in the right place. Here you can find guides designed to quickly onboard you into IDA. We will walk you through license activation and IDA installation to the essential tasks you can perform in IDA.
Video: Watch different ways of loading files in our channel.
Docs: Check our User Guide for a comprehensive description of all menu items.
Video: Curious about practical ways to set up your toolbar? Watch our video tutorial.
Blog: A detailed navigation band overview with the full colors legend you can found in Igor's tip of the week.
Docs: To check all possible values and their meaning, take a look at analysis options.
Video: Check our video tutorial covering the basics of graph view.
Blog: Read the graph mode overview in Igor's tip of the week.
Video: Listen about hex view and others in our video tutorial.
Blog: Detailed overview of the hex view you can read in Igor's tip of the week.
Docs: Check our manual giving an overview of Local Types window.
Docs: Read the manual explaining all of the function window columns in detail.
Video: Watch our video tutorial exploring the funcions view.
Video: Explore the rest of the jump commands in our video tutorial
Docs: Check the details on renaming items in the User Guide
Video: Watch our step-by-step tutorial on renaming techniques.
Blog: Check Igor's tips of the week for expert advice on renaming.
Video: Watch our tutorial about commenting.
Docs: Read our User Guide for local and remote debugging manuals, or check step-by-step tutorials for specific debuggers.
Docs: Want to learn about writing your own plugins? Check our Developer Guide on how to create a plugin in IDAPython or with C++ SDK.
Maksimize your IDA experience with trainigs tailored to all skill levels.
Explore the full collection of IDA Pro tutorial videos on our Hex-Rays channel.
Read in-depth manuals that cover every aspect of IDA.
Learn more about IDA with Igor's tip of the week and explore recent news from Hex-Rays.
Check how to activate your license in My Hex-Rays portal.
Get smoothly through installation process on your machine.
Check basic features of IDA and reverse your first binary.