IDA Pro > IDA Pro教程 > 技术问题 > IDA Pro环境变量(Environment variables)

IDA Pro环境变量(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\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.

 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.

 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

 read.

 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:

 %IDAUSR%\loaders

 %IDAUSR%\procs

 %IDAUSR%\til\

 %IDAUSR%\sig\

 %IDAUSR%\ids\

 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 libc.so

 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

 confirmations

 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.

 IDA_DONT_SWITCH_SCREENS

 (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 libX11.so is not compatible

 noGPM-when libgpm.so is not compatible

 ansi-

 OR

 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

 loadkey ru-ms.map

 export TVOPT=cyrcvt=linux,alt866

 中文翻译如下:

 IDA使用以下环境变量:

 TMP或TEMP指定创建临时文件的目录。

 默认值:C:\TEMP

 EDITOR首选文本编辑器的名称。

 IDALOG指定日志文件的名称。窗口中出现的所有内容都将转储到该文件中。

 默认值:无

 IDALOG_SILENT禁止所有输出到消息窗口。

 如果设置了IDALOG变量,则消息将继续写入日志文件中。否则,它们将丢失。

 IDADIR指定IDA目录。

 默认值:IDA可执行文件所在的目录

 IDA_LOADALL所选的加载器将加载所有段而不询问

 IDAUSR指定用户特定设置的目录。

 默认值:Windows:%APPDATA%/Hex-Rays/IDA Pro

 Linux:$HOME/.idapro

 Mac OS X:$HOME/.idapro

 该变量可以包含多个路径,此时它们必须由平台的路径分隔符(即Windows上的';',Linux和Mac OS X上的':')分隔。

 注意:使用%IDAUSR%加载插件。

 在扫描插件时将考虑%IDAUSR%:对于%IDAUSR%的每个目录组件,IDA将按字母顺序迭代其“plugins”子目录中的文件。

 相同不区分大小写的文件名(没有扩展名)的插件被视为重复,将被忽略;只有给定名称的第一个插件会被考虑。因此,假设%IDAUSR%设置为“C:\my_idausr”,并且存在文件“C:\my_idausr\plugins\DWARF.py”,则“C:\my_idausr\plugins\DWARF.py”将首先被选择,而“%IDADIR%\plugins\dwarf.dll”将被视为冲突,并因此被忽略。

 此外,在每个目录中,IDA首先查找具有本机扩展名的插件(例如,在Windows上为“.dll”),然后才查找扩展语言对应的扩展名的文件(例如,“.idc”、“.py”等)因此,如果同一目录中存在两个文件“foo.dll”和“foo.py”,则首先选择“foo.dll”,而“foo.py”将被视为冲突,因此将被忽略。

 注意:使用%IDAUSR%覆盖配置。

 在查找配置文件时,将考虑%IDAUSR%,在读取%IDADIR%\cfg中找到的配置文件后。

 在应用%IDADIR%\cfg\后,对于%IDAUSR%的每个目录组件,IDA将在其中查找cfg/,如果找到,则也会读取并应用其内容。

 这使用户可以拥有自己的小型、精细调整的配置文件,其中只包含他们想要覆盖的部分,存储在他们选择的一个或多个文件夹中。

 注意:使用%IDAUSR%指定主题

 在扫描主题时将考虑%IDAUSR%:对于%IDAUSR%的每个目录组件,IDA将迭代其“themes”子目录中的子目录。

 注意:使用%IDAUSR%提供额外的加载器、处理器模块、.til文件、.sig和.ids文件

 在构建现有加载器、处理器模块、.til、.sig和.ids文件列表时,也将考虑%IDAUSR%。将检查以下目录:

 %IDAUSR%\loaders

 %IDAUSR%\procs

 %IDAUSR%\til

 %IDAUSR%\sig

 %IDAUSR%\ids\IDA_MINIDUMP(仅限Windows):如果IDA崩溃,它将使用MiniDumpWrite()创建一个minidump文件。使用此环境变量指定MiniDump标志(一组MINIDUMP_TYPE标志,表示为十六进制数)。如果设置为“NO”,IDA将不会写入转储文件。

 IDA_MDMP_INIT(仅限Windows):让IDA在启动时加载dbghlp.dll,以便在崩溃时生成崩溃转储文件。如果未设置,则IDA将动态加载dbghlp.dll(如果需要)。如果Windbg调试器插件的dbghlp.dll与IDA加载的不匹配,则使用此选项可能会导致其发生故障。

 IDA_NOEH:如果设置,禁用IDA自己的异常处理程序,并让所有可能的崩溃由操作系统或活动调试器处理。如果您正在调试插件或处理器模块中的崩溃,这将非常有用。

 IDAIDS指定IDS文件所在的目录。

 默认值为:%IDADIR%\IDS

 IDASGN指定SIG文件所在的目录。

 默认值为:%IDADIR%\SIG

 IDATIL指定TIL文件所在的目录。

 默认值为:%IDADIR%\TIL

 IDAIDC指定IDC文件所在的目录。

 默认值为:%IDADIR%\IDC

 IDA_LIBC_PATH仅适用于Android远程主机。指定系统libc.so的确切路径。

 IDA_SKIP_SYMS仅适用于Linux主机。在调试会话开始时关闭加载主可执行文件的导出符号。

 IDA_NONAMES禁用名称解析。

 IDA_NO_HISTORY禁用更新文件历史记录。

 IDA_NORELOC禁用某些文件格式的重定位信息处理。

 IDA_NOEXP禁用某些文件格式的导出信息处理。

 IDA_NOTLS禁用某些文件格式的TLS条目处理。

 H8_NOSIZER禁用H8模块的操作数大小显示。

 IDA_LOADALL加载输入文件的所有段而不需要进一步的确认。

 IDA_DEBUGBREAKPROCESS(仅适用于Windows)IDA调试器将使用DebugBreakProcess()API来中断进程。否则,它将尝试为所有线程设置临时断点。

 IDA_NO_REBASE在调试时,IDA调试器不会重新定位程序。(即使调试器插件实现了rebase_if_required_to回调函数,这仍然有效)

 IDABXPATHMAP与Bochs调试器相关的变量。

 IDABXENVMAP有关详细信息,请参见plugins/bochs/startup.*。

 IDA_NOWIN(仅限文本MS Windows版本)

 绕过尝试查找前台窗口的代码。该代码在WINE下会导致问题。

 IDA_DONT_SWITCH_SCREENS

 (仅限文本版本)

 告诉IDA即使在本地调试会话期间也仅保留一个屏幕。对于本地调试会话,IDA默认保留一个屏幕用于被调试的应用程序和一个屏幕用于自身。

 IDA_NOAUTOCOMP不自动检测用于名称解缠的编译器。如果此变量不存在并且当前编译器为MS、Borland和Watcom之一,则会自动检测编译器。

 IDA_ELF_PATCH_MODE重写新ELF文件的补丁模式。如果定义了此变量,则它必须包含一个数字。此数字的每个位对应于以下列表中的一个选项:

 0:将“过程链接表”的PIC形式替换为非PIC形式

 1:直接从PLT(无论其形式如何)跳转

 2:转换“GLOBAL_OFFSET_TABLE[]”的PIC形式的加载地址

 3:消除PLT和GOT中的辅助字节以进行“最终自动分析”

 4:可重定位文件中PIC GOT地址加载的自然形式

 5:可重定位文件中未修补的PIC GOT引用形式

 6:将“已分配”对象标记为库对象(仅适用于MIPS)

 IDA_DYLD_SHARED_CACHE_SLIDE Mach-O加载器:指定dyld共享缓存镜像ASLR滑动值(十六进制)或“search”进行自动检测。如果未设置,则假定滑动为0(未滑动镜像)。

 以下变量用于微调IDA的Linux版本:

 TVLOG日志文件的名称,如果未定义,则使用LOG_WARNING优先级的syslog

 TERM终端定义(请参见terminfo)

 TVHEADLESS禁用所有输出(用于i/o重定向),如果定义了此变量,则忽略TVOPT变量。该环境变量也适用于IDA的图形版本。设置后,图形界面将不会还原桌面、工具栏或显示主窗口。

 TVOPT终端选项。有多个子字段,由逗号“,”分隔。

 noX11-当libX11.so不兼容时

 noGPM-当libgpm.so不兼容时

 ansi-

 或

 mono-当您的显示器的terminfo数据没有声明支持ANSI颜色时

 ign8-忽略terminfo描述中的“8位作为元键”

 xtrack-如果您的xterm模拟器在telnet客户端中不支持模式1002(只支持1000),则设置此标志

 alt866-不编码伪图形符号(对于已加载alt字体的控制台)

 cyrcvt=-Cyrillic转换(oem/koi8r)。可能的值为:

 linux-用于Linux俄语用户和PuTTY(in/out koi8r)

 kwin-输出为koi8,输入为cp1251-任何telnet

 windows-适用于许多telnet和任何Linux用户(in/out 1251)

 我们建议远程客户端使用“xterm-scokey”终端类型。

 当终端类型为xterm-scokey时,请将以下字符串添加到/etc/inputrc(或~/.inputrc):

 “\e[.”:删除字符

 在没有安装GPM的控制台上工作时,在TVOPT后添加“noGPM”。

 俄语用户应将以下设置附加到上述设置中:

 在控制台上,俄语用户的最佳设置为:

 setfont alt-8x16.psf.gz-m koi2al

 loadkey ru-ms.map

 export TVOPT=cyrcvt=linux,alt866

展开阅读全文

标签:

读者也访问过这里:
邀请您进入交流群 点击扫码
400-8765-888 kefu@makeding.com

专业销售为您服务

欢迎添加好友,了解更多IDA优惠信息,领逆向工程学习资料礼包1份!
热门文章
exe反编译工具哪个好?反编译能力强的工具盘点
随着软件技术的发展,exe(可执行文件)已经成为了电脑、手机等多个平台上的主要软件运行格式,而对于exe文件的反编译也成为了逆向工程中不可缺少的一个步骤。本文将介绍一些常用的exe反编译工具,并评价其优缺点,帮助读者选择合适的工具。
2023-04-12
idapro怎么改为中文
IDA Pro是一款功能强大的反汇编和反编译工具,广泛应用于逆向工程和软件开发领域。在使用IDA Pro时,如果我们不习惯英文界面,可以将其改为中文界面。本文将介绍IDA Pro怎么改为中文界面。IDA Pro界面改成中文主要有两种方法,下面是详细介绍。
2023-04-19
c++反编译工具有哪些
反编译C++代码的工具一般是针对可执行文件和库文件的反汇编和逆向分析工具。本文将给大家介绍c++反编译工具有哪些的内容。市面说的c++反编译工具有很多,下面介绍几款使用认识较多的软件。
2023-04-23
ida如何转伪代码 ida伪代码怎么看
IDA Pro是一款常用的反汇编和反编译工具,可以帮助我们分析二进制文件的实现细节和执行过程,以便更好地理解程序的执行过程和逻辑。在进行逆向工程的过程中,我们经常需要将反汇编结果转换为伪代码,以便更好地进行分析和修改。本文将介绍如何使用IDA Pro转换为伪代码,并简单讲解ida伪代码怎么看。
2023-04-14
ida怎么查找字符串 ida字符串窗口快捷键
在数字化时代,逆向工程作为解密软件和分析程序的关键技术,正日益受到广泛关注。在逆向分析的过程中,IDA(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。
2023-09-27
最新文章
IDA怎么提取程序的版本信息 如何用IDA软件分析程序的异常行为
你要说IDA,大家可能都会觉得它是逆向工程的神器。无论是分析程序的版本信息,还是抓取程序中的异常行为,IDA几乎都能帮你搞定。今天,我就来跟大家聊聊IDA怎么提取程序的版本信息,如何用IDA软件分析程序的异常行为,还有IDA反汇编功能怎么定位代码。掌握了这些技巧,程序分析也能变得更轻松,效率自然提升。
2024-12-10
怎么用IDA软件反汇编功能学习汇编指令 IDA反汇编功能如何进行多平台二进制分析
说到反汇编分析,很多人第一时间就会想到IDA。这款工具可以说是做逆向工程的“神器”,不管是学习汇编指令还是分析二进制文件,都非常给力。如果你是个初学者,刚接触反汇编,可能会对IDA的一些功能感到陌生,比如怎么用IDA软件反汇编功能学习汇编指令 IDA反汇编功能如何进行多平台二进制分析。别急,今天就带你一步步搞清楚。
2024-12-02
怎么用IDA软件反汇编功能来理解汇编指令 IDA反汇编如何分析软件的异常处理机制
你听说过IDA吗?它可不是一个普通的软件,而是逆向工程界的“老大”!很多程序员、黑客、研究员都用它来破解、分析程序。今天,咱们就来说说:怎么用IDA反汇编,搞懂这些看似难懂的汇编指令,分析程序出现问题时是怎么应对的。
2024-11-27
IDA反编译功能在软件安全审计中有何作用 怎么用IDA反编译功能分析程序的优化级别
在做软件安全审计的时候,程序的安全性和性能优化一直都是大难题。而说到分析程序的二进制代码,IDA反编译工具简直就是安全审计师的“瑞士军刀”。通过反编译,IDA能把难懂的机器码翻译成汇编语言,找出漏洞和优化空间。所以,今天我们就来聊聊“IDA反编译功能在软件安全审计中有何作用 怎么用IDA反编译功能分析程序的优化级别”,一起看看IDA到底有多强大。
2024-11-14
IDA反汇编如何进行二进制补丁分析 IDA反汇编后如何对程序进行静态分析
在软件安全和逆向工程领域,IDA Pro是一款非常受欢迎的工具。它能帮助我们深入分析二进制文件,今天,我们就来聊聊“IDA反汇编如何进行二进制补丁分析 IDA反汇编后如何对程序进行静态分析”这两个话题。希望通过这篇文章,能够让大家更好地运用IDA来进行相关分析。
2024-11-05
IDA软件反编译功能如何研究软件的动态链接库 IDA怎么反编译提取软件程序的调用关系图
在软件开发和安全领域,IDA软件真的是个非常强大的反编译工具。了解它的各种功能,尤其是在研究软件的动态链接库(DLL)时,绝对能让你的工作事半功倍。今天,我们就来聊聊“IDA软件反编译功能如何研究软件的动态链接库 IDA怎么反编译提取软件程序的调用关系图”这个话题,让你对IDA有更深入的认识。
2024-11-05

通过微信咨询我们

欢迎添加好友,了解更多IDA优惠信息,领取逆向工程学习资料礼包1份!