IDA pro环境变量

原文链接:https://docs.hex-rays.com/core/disassembler/concepts/environment-variables

慎重设置IDADIR环境变量,如果安装有多个版本的ida pro则会导致许可异常!
the key file is not found


Environment Variables 环境变量

The following environment variables are used by IDA:
IDA 使用以下环境变量:

TMP or TEMP TMP 或 TEMP

Specifies the directory where the temporary files will be created. Default: C:\TEMP
指定临时文件的创建目录。 默认值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.
禁止向消息窗口输出任何内容。如果设置了 IDALOG 变量,消息将继续写入日志文件;否则,消息将会丢失。

IDADIR

Specifies the IDA directory. Default: the directory where IDA executable is located
指定 IDA 目录。 默认值 :IDA 可执行文件所在的目录

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
    Windows: %APPDATA%/Hex-Rays/IDA Pro
  • Linux: $HOME/.idapro
    Linux: $HOME/.idapro
  • Mac OS X: $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.)
该变量可以包含多个路径,在这种情况下,它们必须用平台的路径分隔符(例如,Windows 上的 ;: Linux 和 Mac OS X 上的 :)分隔。

  • Using %IDAUSR% for loading plugins:
    使用 %IDAUSR% 加载插件

    %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.
    扫描插件时将考虑 %IDAUSR%:对于 %IDAUSR% 的每个目录组件,IDA 将按字母顺序遍历其“plugins”子目录中的文件。

    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\DWARF.py exists, then C:\my_idausr\plugins\DWARF.py will be picked up first while %IDADIR%\plugins\dwarf.dll will be considered conflicting, and thus ignored.
    文件名相同(不区分大小写,不带扩展名)的插件将被视为重复项并被忽略;只会考虑第一个具有给定名称的插件。因此,假设 %IDAUSR% 设置为 C:\my_idausr ,并且存在文件 C:\my_idausr\plugins\DWARF.py ,则 C:\my_idausr\plugins\DWARF.py 将首先被选中,而 %IDADIR%\plugins\dwarf.dll 将被视为冲突并被忽略。

    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 foo.py, are present in the same directory, foo.dll will be picked first, and foo.py will be considered conflicting, and thus ignored.
    此外,在每个目录中,IDA 首先查找具有原生扩展名的插件(例如,Windows 上的 .dll ),然后才查找具有与扩展语言对应的扩展名的文件(例如, .idc.py 等)。因此,如果两个文件(例如 foo.dllfoo.py )存在于同一目录中,则会优先选择 foo.dll ,而 foo.py 会被视为冲突文件而被忽略。

  • Using %IDAUSR% for overriding configuration:
    使用 %IDAUSR% 覆盖配置

    %IDAUSR% will be considered when looking for configuration files, after the config file found in %IDADIR%\cfg has been read.
    在读取 %IDADIR%\cfg 中找到的配置文件后,查找配置文件时将考虑 %IDAUSR%。

    After %IDADIR%\cfg\<filename> has been read & applied, for each directory component of %IDAUSR%, IDA will look for cfg/<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.
    在读取并应用 %IDADIR%\cfg\<filename> 之后,IDA 会针对 %IDAUSR% 的每个目录组件查找 cfg/<filename> ,如果找到,也会读取并应用其内容。这使得用户可以拥有自己的小型、精细的配置文件,其中仅包含他们想要覆盖的部分,并存储在他们选择的一个或多个文件夹中。

  • Using %IDAUSR% for specifying themes:
    使用 %IDAUSR% 指定主题

    %IDAUSR% will be considered when scanning for themes: for each directory component of %IDAUSR%, IDA will iterate on subdirectories in its "themes" subdirectory.
    扫描主题时将考虑 %IDAUSR%:对于 %IDAUSR% 的每个目录组件,IDA 将遍历其“themes”子目录中的子目录。

  • Using %IDAUSR% for providing additional loaders, processor modules, .til files, .sig and .ids files:
    使用 %IDAUSR% 提供额外的加载器、处理器模块、.til 文件、.sig 和 .ids 文件

    %IDAUSR% will also be considered when building the list of existing loaders, processor modules, .til, .sig and .ids files.
    在构建现有加载器、处理器模块、 .til.sig.ids 文件列表时,也会考虑 %IDAUSR%。

    The following directories will be inspected:
    将检查以下目录:

    • %IDAUSR%\loaders
    • %IDAUSR%\procs
    • %IDAUSR%\til\<arch-name> %IDAUSR%\to<arch-name>
    • %IDAUSR%\sig\<arch-name>
    • %IDAUSR%\ids\<platform-name>

IDA_MINIDUMP

Platform: Windows only
平台 :仅限 Windows

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 崩溃,它会使用 MiniDumpWrite() 函数创建一个小型转储文件。使用此环境变量可以指定小型转储标志(由 MINIDUMP_TYPE 标志组合而成的十六进制数)。如果设置为 NO ,IDA 将不会写入转储文件。

IDA_MDMP_INIT

Platform: Windows only
平台 :仅限 Windows

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 在启动时加载 dbghlp.dll ,以便在发生崩溃时用于生成崩溃转储文件。如果未设置,IDA 将动态加载 dbghlp.dll (如果需要)。使用此选项可能会导致 Windbg 调试器插件出现故障,因为如果其 dbghlp.dll 与 IDA 加载的 dbghlp.dll 不匹配。

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.
如果启用此选项,则禁用 IDA 自身的异常处理程序,让操作系统或当前使用的调试器处理所有可能的崩溃。如果您正在调试插件或处理器模块中的崩溃,这将非常有用。

IDAIDS

Specifies the directory with the IDS files. Default: %IDADIR%\IDS
指定包含 IDS 文件的目录。 默认值%IDADIR%\IDS

IDASGN

Specifies the directory with the SIG files. Default: %IDADIR%\SIG
指定包含 SIG 文件的目录。 默认值%IDADIR%\SIG

IDATIL

Specifies the directory with the TIL files. Default: %IDADIR%\TIL
指定包含 TIL 文件的目录。 默认值%IDADIR%\TIL

IDAIDC

Specifies the directory with the IDC files. Default: %IDADIR%\IDC
指定包含 IDC 文件的目录。 默认值%IDADIR%\IDC

IDA_LIBC_PATH

Platform: Android remote host only
平台 :仅限 Android 远程主机

Specifies the exact path to the system libc.so
指定系统 libc.so 的确切路径

IDA_SKIP_SYMS

Platform: Linux host only
平台 :仅限 Linux 主机

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.
禁用某些文件格式的 TLS 条目处理。

H8_NOSIZER

Disables the display of the operand sizes for H8 module.
禁用 H8 模块的操作数大小显示。

IDA_LOADALL

Load all segments of the input file without further confirmations.
无需进一步确认,加载输入文件的所有片段。

IDA_DEBUGBREAKPROCESS

Platform: Windows only
平台 :仅限 Windows

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 调试器将使用 DebugBreakProcess() API 来中断进程。否则,它将尝试为所有线程设置临时断点。

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).
IDA 调试器在调试时不会对程序进行变基操作。(即使调试器插件实现了 rebase_if_required_to 回调函数,此规则仍然有效)。

IDABXPATHMAP

Variables related to the Bochs debugger.
与 Bochs 调试器相关的变量。

IDABXENVMAP

See plugins/bochs/startup.* for more details.
更多详情请参见 plugins/bochs/startup.*。

IDA_NOWIN

Platform: Text MS Windows version only
平台 :仅限文本 MS Windows 版本

Bypass the code trying to find out the foreground window. This code causes problems under WINE.
绕过尝试查找前台窗口的代码。这段代码在 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 即使在本地调试会话期间也只保留一个屏幕。默认情况下,IDA 在本地调试会话期间会保留一个屏幕用于被调试的应用程序,另一个屏幕用于自身。

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.
不要自动检测用于名称反混淆的编译器。如果此变量不存在,且当前编译器是 MS、Borland 或 Watcom 之一,则会自动检测编译器。

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:
覆盖新 ELF 文件的补丁模式。如果定义了此变量,则它必须包含一个数字。此数字的每一位对应于以下列表中的一个选项:

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:
覆盖新 ELF 文件的补丁模式。如果定义了此变量,则它必须包含一个数字。此数字的每一位对应于以下列表中的一个选项:

Bit Description
0 Replace PIC form of 'Procedure Linkage Table' to non PIC form 将“程序链接表”的 PIC 表单替换为非 PIC 表单。
1 Direct jumping from PLT (without GOT) regardless of its form
无论其形式如何,直接从 PLT(不含 GOT)跳转
2 Convert PIC form of loading 'GLOBAL_OFFSET_TABLE[]' of address
将 PIC 形式的“ GLOBAL_OFFSET_TABLE []”加载地址
3 Obliterate auxiliary bytes in PLT & GOT for 'final autoanalysis'
删除 PLT 和 GOT 中的辅助字节以进行“最终自动分析”
4 Natural form of PIC GOT address loading in relocatable file
PIC GOT 地址加载在可重定位文件中的自然形式
5 Unpatched form of PIC GOT references in relocatable file
可重定位文件中未修补的 PIC GOT 引用
6 Mark 'allocated' objects as library-objects (MIPS only)
将“已分配”的对象标记为库对象(仅限 MIPS)

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).
Mach-O 加载器:指定 dyld 共享缓存映像 ASLR 滑动值(十六进制)或使用“搜索”进行自动检测。如果未设置,则假定滑动值为 0(未滑动映像)。

Linux 特有变量

The following variables are used to fine-tune the Linux version of IDA:
以下变量用于微调 Linux 版 IDA:

TVLOG

Specifies the name of the log file. If not defined, use syslog with LOG_WARNING priority.
指定日志文件名。如果未定义,则使用优先级为 LOG_WARNING 的 syslog 日志文件。

TERM

The terminal definition (see terminfo).
终端定义(参见 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.
禁用所有输出(用于 I/O 重定向)。如果定义了此变量,则 TVOPT 变量将被忽略。此环境变量也适用于 IDA 的图形版本。设置后,图形界面将不会恢复桌面、工具栏或显示主窗口。

TVOPT

The end-user flags. It has many subfields, delimited by commas ','.
最终用户标志。它包含许多子字段,以逗号“,”分隔。

  • noX11 - when libX11.so is not compatible
    noX11 - 当 libX11.so 不兼容时
  • noGPM - when libgpm.so is not compatible
    noGPM - 当 libgpm.so 不兼容时
  • ansi - OR mono - when the terminfo data of your display does not declare it as having the ANSI-color support
    当您的显示器的 terminfo 数据未声明其具有 ANSI 颜色支持时,请使用 ansimono
  • ign8 - ignore '8bit as meta key' in the terminfo description
    ign8 - 忽略 terminfo 描述中的“8bit 作为元键”
  • xtrack - if your xterm-emulator in telnet client does not support mode 1002 (only 1000), set this flag
    xtrack - 如果您的 telnet 客户端中的 xterm 模拟器不支持模式 1002(仅支持 1000),请设置此标志
  • alt866 - do not encode pseudographic symbols (for the console with alt-font loaded)
    alt866 - 不对伪图形符号进行编码(适用于已加载 alt 字体的控制台)
  • cyrcvt= - Cyrillic conversion (oem/koi8r). Possible values are:
    cyrcvt= - 西里尔字母转换(oem/koi8r)。可选值有:
    • linux - for linux russian users and PuTTY (in/out koi8r)
      linux - 适用于 linux 俄语用户和 PuTTY(输入/输出 koi8r)
    • kwin - output in koi8 and input in cp1251 - any telnet
      kwin - koi8 输出,cp1251 输入 - 任何 telnet
    • windows - for many telnet and any linux users (in/out 1251)
      windows - 适用于许多 Telnet 用户和任何 Linux 用户(入/出端口 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
模拟->终端:xterm,模拟->键盘:内置键盘或自定义“xt-sco.key”文件,高级->终端类型:xterm-scokey
SecureCRT xterm xtrack Emulation->Terminal: xterm+internal kbd
模拟器->终端:xterm+内置键盘
Putty xterm-scokey - Terminal,Keyboard: Control?, Standard, SCO, Normal, Normal
终端、键盘:控制?、标准、SCO、正常、正常
Putty xterm - Terminal,Keyboard: ControlH, Standard, ~num, Normal, Normal
终端,键盘:ControlH,标准,~num,普通,普通
Console linux - default
X11:xterm xterm - default

We recommend to use the 'xterm-scokey' terminal type for remote clients.
我们建议远程客户端使用“xterm-scokey”终端类型。

When the terminal type is xterm-scokey, add the following string to /etc/inputrc (or to ~/.inputrc):
当终端类型为 xterm-scokey 时,请将以下字符串添加到 /etc/inputrc (或 ~/.inputrc ):

"\e[.": delete-char

When working on the console without GPM installed, append noGPM to TVOPT.
在未安装 GPM 的控制台上工作时,将 noGPM 附加到 TVOPT。

posted @ 2026-06-21 16:07  DirWangK  阅读(36)  评论(0)    收藏  举报