行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间: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
展开阅读全文
︾
读者也喜欢这些内容:
IDA怎么修改字符串内容?IDA修改后怎么保存?
在软件开发和逆向工程领域,IDA Pro是一种极其强悍的工具,广泛用于程序剖析、调试和修改。它不仅支持多种处理器架构,还提供了大量的作用,以适应高档讲解的必须。本文将围绕ida怎么修改字符串内容,ida修改后怎么保存这一主题,详细描述怎样在IDA中更改字符串内容,及其修改后的存放方式。此外,我们还将探讨IDA转变的应用场景,帮助读者更深入地了解IDA的实际应用价值。...
阅读全文 >
c语言反编译成汇编的工具 c语言有几种调用汇编语言的方法
在当今多元化的编程语言环境中,C语言仍然占据着不可替代的地位。尤其在涉及底层编程和系统开发时,C语言与汇编语言的结合使用成为了一个重要的议题。...
阅读全文 >
linux 反汇编怎么看 IDA如何分析Linux内核反汇编
作为全球最流行的开源操作系统之一,Linux内核包含大量的源代码,而对这些源代码的理解和分析至关重要。反汇编是一种可以帮助我们理解和分析程序的强大工具。...
阅读全文 >
IDA Pro颜色配置(Color configuration)
...
阅读全文 >