IDA中文网站 > 技术问题 > Environment variables

Environment variables

发布时间:2022/10/14 17:13:24

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.)

         NOTE: 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 file
               "C:\my_idausr\plugins\" exists, then
               "C:\my_idausr\plugins\" 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, say "foo.dll" and "", are
               present in the same directory, "foo.dll" will be picked first,
               and "" will be considered conflicting, and thus ignored.

         NOTE: Using %IDAUSR% for overriding configuration.

               %IDAUSR% will be considered when looking for configuration
               files, after the config file found in %IDADIR%\cfg has been

               After %IDADIR%\cfg\ has been read & applied, for
               each directory component of %IDAUSR%, IDA will look for
               cfg/ 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.

         NOTE: 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.

         NOTE: 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:

IDA_MINIDUMP    (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   (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   Useful only on Android remote host. Specifies the exact
               path to the system

IDA_SKIP_SYMS   Useful only on Linux host. 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 futher

IDA_DEBUGBREAKPROCESS (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       (Text MS Windows version only)
               Bypass the code trying to find out the foreground window.
               This code causes problems under WINE.

               (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:

  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).

The following variables are used to fine-tune the Linux version of IDA:

TVLOG    the name of the log-file
        if it is 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 defined, the TVOPT variable is ignored
        This environment variable also works also in graphical versions of
        IDA. When set, the graphical interface will not restore desktops,
        toolbars or show the main window.

TVOPT    the enduser flags. Has many subfields delimited by commas ','.
    noX11   - when is not compatible
    noGPM   - when is not compatible
    ansi    -
    mono    - when the terminfo data of your display does not declare
              it as having the ANSI-color support
    ign8    - ignore '8bit as meta key' in the terminfo description
    xtrack  - if your xterm-emulator in telnet client does not support
              mode 1002 (only 1000), set this flag
    alt866  - do not encode pseudographic symbols (for the console with
              alt-font loaded)
    cyrcvt= - cyrilic 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 telnet
      windows - for many telnet and any linux users (in/out 1251)

Client name | Terminal   | TVOPT  | Client settings
            |            |        |
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 users should append the following settings to the above:

                 | APPEND  TO TVOPT  | APPEND TO Client Settings
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
        export TVOPT=cyrcvt=linux,alt866


官方交流群:623715825 立即加群


欢迎加入 IDA 产品的大家庭,立即扫码关注,获取更多软件动态和资源福利。