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默认打开是图形模式,就是反汇编流程视图,可以用来分析程序函数的具体运行情况。
2021-06-15
IDA的初始使用说明和界面简介
IDA能帮助我们分析恶意软件、分析系统漏洞、验证编译器的性能,其支持在Mac系统、Windows系统、Linux系统中使用,是一款非常优秀的反编译软件。
2021-03-16
最新文章
ida pro权威指南是什么?ida pro权威指南好学吗?
在逆向工程和软件分析领域,IDA Pro(Interactive Disassembler Pro)是一款广受欢迎和高度专业的反汇编工具。其复杂的功能和广泛的应用使得许多初学者和专业人士对如何使用IDA Pro充满了兴趣和疑问。为此,《IDA Pro权威指南》成为了学习和掌握这一工具的重要资源。本文将详细探讨《IDA Pro权威指南》是什么、其学习难度如何以及IDA Pro适合哪些人使用。
2024-05-22
mybatisplus逆向工程是什么?mybatisplus逆向工程怎么做?
MyBatis-Plus作为一种高效的ORM框架,其逆向工程功能特别受到Java开发者的欢迎。通过自动从数据库生成代码,它极大地简化了开发流程并提高了代码质量。本文将探讨MyBatis-Plus逆向工程的核心原理,实施方法,并分析其在现代开发实践中的应用。
2024-05-17
逆向工程思维都有哪些?逆向工程思维应该如何训练?
在当今科技迅速发展的时代,这些问题对于专业人士及技术爱好者来说显得尤为重要。逆向工程思维不仅能够帮助人们深入理解技术产品的内部结构和功能原理,还能促进创新和改进,是信息安全、软件开发和硬件分析等多个领域的关键能力,了解逆向工程思维的元素及其训练方法,对于每一个科技专业人士来说都是必备的。本文将深入介绍逆向工程思维的构成,探讨如何系统地培养这种思维,并分析哪些软件工具对于实践逆向工程至关重要。
2024-05-13
计算机逆向工程是什么概念?逆向工程技术怎么学?
随着技术的快速发展,逆向工程在软件和硬件开发中扮演着越来越重要的角色。了解和学习计算机逆向工程不仅可以帮助技术人员理解复杂系统的内部机制,还能增强他们应对安全威胁的能力。本文将详细介绍计算机逆向工程的基本概念和学习途径,为那些希望深入该领域的专业人士提供指导。
2024-05-09
逆向工程技术有哪些?软件逆向工程怎么做?
在技术迅速发展的今天,逆向工程已经成为一种不可或缺的技术分析方法,特别是在软件开发和信息安全领域中。逆向工程技术使我们能够通过已完成的软件或硬件产品来探索其设计和操作的底层逻辑。本文将深入探讨逆向工程的各种技术及其在软件开发中的实际操作方法。这种技术不仅能帮助研究者学习和理解原始设计的思路,还能揭示产品潜在的安全漏洞,为改进和优化提供可能。
2024-04-30
逆向工程是什么意思?逆向工程核心原理是什么?
逆向工程是什么意思?逆向工程核心原理是什么?逆向工程作为一种复杂而又精细的技术手段,广泛应用于软件开发、硬件分析以及信息安全领域。通过分析产品的最终形态,逆向工程能够揭示出产品的设计理念、构造方法和运作原理,从而为技术创新或者产品改进提供参考和灵感。
2024-04-30

通过微信咨询我们

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