Environment variables
The following environment variables are used by IDA:
TMP or TEMP
Specifies the directory where the temporary files will be created.
Default: C:\TEMP
EDITOR
The name of the preferred text editor.
IDALOG
Specifies the name of the log file. Everything appearing in the message window will be dumped there. Default: none
IDALOG_SILENT
Suppress all output to the message window. If the IDALOG variable is set, messages will continue to be written to the log file. Otherwise, they will be lost.
IDADIR
Specifies the IDA directory. Default: the directory where IDA executable is located
IDA_LOADALL
The selected loader will load all segments without asking.
IDAUSR
Specifies the directory for user-specific settings. Default:
Windows:
%APPDATA%/Hex-Rays/IDA Pro
Linux:
$HOME/.idapro
Mac OS X:
$HOME/.idapro
This variable can contain multiple paths, in which case they must be separated by the platform's path separator character (i.e., ;
on Windows, and :
on Linux & Mac OS X.)
Using %IDAUSR% for loading plugins:
%IDAUSR% will be considered when scanning for plugins: for each directory component of %IDAUSR%, IDA will iterate on files in its "plugins" subdirectory, in alphabetical order.
Plugins with the same case-insensitive file name (without extension) are considered to be duplicates and are ignored; only the first plugin with a given name will be considered. Thus, let's say %IDAUSR% is set to
C:\my_idausr
, and a fileC:\my_idausr\plugins\DWARF.py
exists, thenC:\my_idausr\plugins\DWARF.py
will be picked up first while%IDADIR%\plugins\dwarf.dll
will be considered conflicting, and thus ignored.In addition, in each directory, IDA first looks for plugins with the native extension (e.g.,
.dll
on Windows) and only then looks for files with extensions corresponding to extension languages (e.g.,.idc
,.py
, ...). Consequently, if two files, sayfoo.dll
andfoo.py
, are present in the same directory,foo.dll
will be picked first, andfoo.py
will be considered conflicting, and thus ignored.Using %IDAUSR% for overriding configuration:
%IDAUSR% will be considered when looking for configuration files, after the config file found in %IDADIR%\cfg has been read.
After
%IDADIR%\cfg\<filename>
has been read & applied, for each directory component of %IDAUSR%, IDA will look forcfg/<filename>
in it, and, if found, read & apply its contents as well. This enables users to have their own small, fine-tuned configuration files containing just the bits they wanted to override, stored in one (or more) folder(s) of their choosing.Using %IDAUSR% for specifying themes:
%IDAUSR% will be considered when scanning for themes: for each directory component of %IDAUSR%, IDA will iterate on subdirectories in its "themes" subdirectory.
Using %IDAUSR% for providing additional loaders, processor modules, .til files, .sig and .ids files:
%IDAUSR% will also be considered when building the list of existing loaders, processor modules,
.til
,.sig
and.ids
files.The following directories will be inspected:
%IDAUSR%\loaders
%IDAUSR%\procs
%IDAUSR%\til\<arch-name>
%IDAUSR%\sig\<arch-name>
%IDAUSR%\ids\<platform-name>
IDA_MINIDUMP
Platform: Windows only
If IDA crashes, it creates a minidump file with the MiniDumpWrite()
. Use this environment variable to specify MiniDump flags (a combination of MINIDUMP_TYPE flags as a hexadecimal number). If set to NO
, IDA will not write a dump.
IDA_MDMP_INIT
Platform: Windows only
Let IDA load dbghlp.dll
on startup so it is used for crash dump file generation in case of a crash. If not set, IDA will load dbghlp.dll
dynamically (if needed). Using this option may cause the Windbg debugger plugin to malfunction in case its dbghlp.dll
does not match the one loaded by IDA.
IDA_NOEH
If set, disable IDA's own exception handler and let all possible crashes to be handled by the OS or active debugger. It is useful if you're debugging a crash in a plugin or processor module.
IDAIDS
Specifies the directory with the IDS files.
Default: %IDADIR%\IDS
IDASGN
Specifies the directory with the SIG files.
Default: %IDADIR%\SIG
IDATIL
Specifies the directory with the TIL files.
Default: %IDADIR%\TIL
IDAIDC
Specifies the directory with the IDC files.
Default: %IDADIR%\IDC
IDA_LIBC_PATH
Platform: Android remote host only
Specifies the exact path to the system libc.so
IDA_SKIP_SYMS
Platform: Linux host only
Turns off loading of exported symbols for the main executable file at the start of a debugging session.
IDA_NONAMES
Disables the name resolution.
IDA_NO_HISTORY
Disables updating file history.
IDA_NORELOC
Disables processing of the relocation information for some file formats.
IDA_NOEXP
Disables processing of the export information for some file formats.
IDA_NOTLS
Disables processing of the TLS entries for some file formats.
H8_NOSIZER
Disables the display of the operand sizes for H8 module.
IDA_LOADALL
Load all segments of the input file without further confirmations.
IDA_DEBUGBREAKPROCESS
Platform: Windows only
IDA debugger will use the DebugBreakProcess()
API to break into the process. Otherwise it will instead attempt to set temporary breakpoints for all threads.
IDA_NO_REBASE
IDA Debugger will not rebase the program when debugging. (This will be in effect even if the debugger plugin implements the rebase_if_required_to
callback).
IDABXPATHMAP
Variables related to the Bochs debugger.
IDABXENVMAP
See plugins/bochs/startup.* for more details.
IDA_NOWIN
Platform: Text MS Windows version only
Bypass the code trying to find out the foreground window. This code causes problems under WINE.
IDA_DONT_SWITCH_SCREENS
Platform: Text version only
Tells IDA to keep only one screen even during local debugging sessions. For local debugging sessions, IDA keeps by default one screen for the debugged application and one screen for itself.
IDA_NOAUTOCOMP
Do not autodetect compiler for name demangling. If this variable is absent and the current compiler is one of MS, Borland and Watcom, the compiler is autodetected.
IDA_ELF_PATCH_MODE
Overrides patch mode for the new ELF files. If this variable is defined, it must contain a number. Each bit of this number corresponds to an option from the following list:
IDA_ELF_PATCH_MODE
Overrides patch mode for the new ELF files. If this variable is defined, it must contain a number. Each bit of this number corresponds to an option from the following list:
0
Replace PIC form of 'Procedure Linkage Table' to non PIC form
1
Direct jumping from PLT (without GOT) regardless of its form
2
Convert PIC form of loading 'GLOBAL_OFFSET_TABLE[]' of address
3
Obliterate auxiliary bytes in PLT & GOT for 'final autoanalysis'
4
Natural form of PIC GOT address loading in relocatable file
5
Unpatched form of PIC GOT references in relocatable file
6
Mark 'allocated' objects as library-objects (MIPS only)
IDA_DYLD_SHARED_CACHE_SLIDE
Mach-O loader: specify the dyld shared cache image ASLR slide value (hexadecimal) or 'search' for automatic detection. If not set, slide is assumed to be 0 (unslid image).
Linux-Specific Variables
The following variables are used to fine-tune the Linux version of IDA:
TVLOG
Specifies the name of the log file. If not defined, use syslog with LOG_WARNING priority.
TERM
The terminal definition (see terminfo).
TVHEADLESS
Disable all output (for i/o redirection). If this variable is defined, the TVOPT variable is ignored. This environment variable also works in graphical versions of IDA. When set, the graphical interface will not restore desktops, toolbars or show the main window.
TVOPT
The end-user flags. It has many subfields, delimited by commas ','.
noX11
- when libX11.so is not compatiblenoGPM
- when libgpm.so is not compatibleansi
- ORmono
- when the terminfo data of your display does not declare it as having the ANSI-color supportign8
- ignore '8bit as meta key' in the terminfo descriptionxtrack
- if your xterm-emulator in telnet client does not support mode 1002 (only 1000), set this flagalt866
- do not encode pseudographic symbols (for the console with alt-font loaded)cyrcvt=
- Cyrillic conversion (oem/koi8r). Possible values are:linux
- for linux russian users and PuTTY (in/out koi8r)kwin
- output in koi8 and input in cp1251 - any telnetwindows
- for many telnet and any linux users (in/out 1251)
SecureCRT
xterm-scokey
xtrack
Emulation->Terminal: xterm, Emulation->keyboard: either the built-in keyboard, either custom 'xt-sco.key' file Advanced->Terminaltype: xterm-scokey
SecureCRT
xterm
xtrack
Emulation->Terminal: xterm+internal kbd
Putty
xterm-scokey
-
Terminal,Keyboard: Control?, Standard, SCO, Normal, Normal
Putty
xterm
-
Terminal,Keyboard: ControlH, Standard, ~num, Normal, Normal
Console
linux
-
default
X11:xterm
xterm
-
default
We recommend to use the 'xterm-scokey' terminal type for remote clients.
When the terminal type is xterm-scokey, add the following string to /etc/inputrc
(or to ~/.inputrc
):
"\e[.": delete-char
When working on the console without GPM installed, append noGPM
to TVOPT.
Russian Language Support
Russian users should append the following settings to the above:
Console
alt866,cyrcvt=linux
-
X11
cyrcvt=linux
-
Putty
cyrcvt=linux
Window,Translation: use font in both ANSI and OEM modes
SecureCRT
- with koi8font and kbd-hook
cyrcvt=linux
-
- with koi8font
cyrcvt=kwin
-
- with ANSI-font
cyrcvt=windows
-
The best settings for Russian users on the console are:
setfont alt-8x16.psf.gz -m koi2al
loadkey ru-ms.map
export TVOPT=cyrcvt=linux,alt866
Last updated
Was this helpful?