IDA Pro > IDA Pro教程 > 技术问题 > IDA Pro加载文件(Load file)

IDA Pro加载文件(Load file)

发布时间:2022-09-29 10: 39: 24

Reload input file

 Action    name: ReloadFile
 

This command reloads the same input file into the database. IDA tries to retain as much information as possible in the database. All the names, comments, segmentation information and similar will be retained.

Only the values of individual bytes will be changed.

This command works for some input file types only: if the file was loaded into the database with special settings, this command may fail. In this case, use Dump database to IDC file command and reload the file manually. 

 

Script file

 Action    name: Execute
 

You can execute any script file supported by the built-in scripting engine (IDC or Python), or a scripting language added by a plugin. The scripting language to use is selected by the file name extension of the script. 

 

Binary file

 Action    name: LoadFile
 

This command loads a binary file. The new file is added to the current database and all existing information is retained.

The file content will appear as unexplored bytes in the program.

This command only allows you to load binary files. 

 

IDS file

 Action    name: LoadIdsFile
 

This command loads an IDS file.

An IDS file contains information about well-known functions (such as functions from MS Windows API), namely:

       - their names
       - their ordinal number in the DLL
       - an eventual informative comment
       - the number of parameters passed on the stack
       - the number of parameters purged when returning

IDS files are automatically loaded if they are found in the IDS directory. This command allows you to load an IDS file from any directory, even after the main file has been loaded into the database.

See also Load... submenu commands.

 

Debug information file

 Action    name: LoadDbgFile
 

This command loads a DBG file.

If the program being disassembled has a companion DBG file, then this command may be used to load information from a DBG file into the database. IDA loads DBG files automatically if it can find them in the directory with the input file.

The built-in debug information loader cannot load NB10 format files and PDB files. To load those files, please use a special plugin PDB.DLL which can be run manually using Edit->Plugins submenu. This plugin uses MS Windows DLLs to load the debug information and therefore has the following limitations:

       - it works only under MS Windows
       - it will load only PDBs compatible with the currently
         installed IMAGEHLP.DLL

 

PDB debug information file

 Action    name: LoadPdbFile
 

This command loads a PDB file.

If the program being disassembled has a companion PDB file, then this command may be used to load information from the PDB file into the database.

By default IDA uses in-house code to parse and load PDB files. However, our code can not parse old v2.0 PDB files. For them, IDA can fall back to using Microsoft DLLs (the default is "do not fall back"). Please read more in cfg/pdb.cfg. 

 

 

TDS debug information file

 Action    name: LoadTdsFile
 

This command loads a TDS file.

If the program being disassembled has a companion TDS file, this command may be used to load information from the TDS file into the database.

The TDS file must be placed in the same directory together with the input file.

The LoadTdsFile command launches a special plugin TDS.DLL which can be run manually using Edit->Plugins submenu. 

 

FLIRT signature file

 Action    name: LoadSigFile
 

This command allows you to apply an additional signature file to the program.

A signature file contains patterns of standard runtime functions. With their help, IDA is able to recognize the standard functions and names them accordingly.

IDA attempts to detect the necessary signature files automatically but unfortunately, this is not always possible. This command adds the specified signature file into the planned signature files queue.

Signature files reside in the subdirectories of the SIG directory. Each processor has its own subdirectory. The name of the subdirectory is equivalent to the name of the processor module file (z80 for z80.w32, for example). Note: IBM PC signatures are located in the SIG directory itself. Note: the IDASGN environment variable can be used to specify the location of the signatures directory.

There is another way to load a signature file: you may insert/delete signature files in the following way:

       - open the signatures window
       - press Ins to insert a signature file to the queue
       - press Del to delete a signature file from the queue

This is a preferred way of applying signatures because useful information, such as the number of identified functions is displayed in the signature window.

NOTE: FLIRT works only for the processors with normal byte size. The byte size must be equal to 8 (processors with wide bytes like AVR or DSP56K are not supported) 

 

C header file

 Action    name: LoadHeaderFile
 

This command allows you to apply type declarations from a C header file to the program.

IDA reads and parses the specified header file as a C compiler does. In other words, it mimics the front-end of a C compiler with some restrictions:

       - only type declarations are allowed. The function definitions
         in the input file are skipped
       - not all C++ header files are not supported, only simple classes can
         be parsed
       - the compiler specific predefined macros are not defined,
         you have to define them manually in the header file

Don't forget to specify the compiler and memory model in the compiler setup dialog box before loading a header file.

All type declarations found in the input file are stored in the current database in the form of a type library. These type declarations can be used to define new structure and enumeration definitions by pressing "Add standard structure" or "Add standard enum" buttons in the Add enum type... and Add struct type... dialog boxes.

In the case of an error in the input file, the error messages appear in the message window. In any case, the function declarations that are already parsed are not deleted from the database. IDA stops parsing the input file when 20 errors occur.

IDA 7.7 introduced an alternative header file parser based on libclang. 

中文翻译:

重新加载输入文件

操作名称:ReloadFile

该命令将同一个输入文件重新加载到数据库中。IDA尝试在数据库中保留尽可能多的信息。所有名称、注释、分段信息和类似信息都将保留。只有单个字节的值将被更改。

该命令仅适用于某些输入文件类型:如果文件使用特殊设置加载到数据库中,则此命令可能会失败。在这种情况下,使用“Dump database to IDC file”命令并手动重新加载文件。

脚本文件

操作名称:执行

您可以执行内置脚本引擎(IDC或Python)支持的任何脚本文件,或由插件添加的脚本语言。要使用的脚本语言是由脚本的文件名扩展名选择的。

二进制文件

操作名称:LoadFile

该命令加载二进制文件。新文件将添加到当前数据库中,并保留所有现有信息。文件内容将显示为程序中的未探索字节。此命令仅允许您加载二进制文件。

IDS文件

操作名称:LoadIdsFile

此命令加载IDS文件。IDS文件包含有关众所周知函数(例如来自MS Windows API的函数)的信息,包括:

●函数名称

●DLL中的序数号

●可能的信息性注释

●在堆栈上传递的参数数目

●返回时清空的参数数目

如果IDS文件在IDS目录中找到,则自动加载IDS文件。此命令允许您从任何目录加载IDS文件,即使已将主文件加载到数据库中。请参见Load...子菜单命令。

调试信息文件操作名称:LoadDbgFile

此命令加载DBG文件。如果正在反汇编的程序有一个配套的DBG文件,则可以使用此命令将DBG文件中的信息加载到数据库中。如果IDA在输入文件目录中找到了DBG文件,则会自动加载DBG文件。

内置的调试信息加载器无法加载NB10格式文件和PDB文件。要加载这些文件,请使用一个名为PDB.DLL的特殊插件,可以使用“编辑”->“插件”子菜单手动运行。此插件使用MS Windows DLL加载调试信息,因此具有以下限制:

●仅在MS Windows下运行

●它只能加载与当前安装的IMAGEHLP.DLL兼容的PDB。

PDB调试信息文件

操作名称:LoadPdbFile

此命令加载一个PDB文件。如果要反汇编的程序有一个相应的PDB文件,则可以使用此命令将PDB文件的信息加载到数据库中。

默认情况下,IDA使用自己的代码来解析和加载PDB文件。但是,我们的代码无法解析旧的v2.0 PDB文件。对于这些文件,IDA可以回退到使用Microsoft DLL(默认值为“不回退”)。请在cfg/pdb.cfg中阅读更多信息。

TDS调试信息文件操作名称:LoadTdsFile

此命令加载一个TDS文件。如果要反汇编的程序有一个相应的TDS文件,则可以使用此命令将TDS文件的信息加载到数据库中。

TDS文件必须与输入文件放置在同一个目录中。

LoadTdsFile命令启动了一个特殊的插件TDS.DLL,可以在“编辑”->“插件”子菜单中手动运行。

FLIRT签名文件操作名称:LoadSigFile

此命令允许您将附加的签名文件应用于程序。

签名文件包含标准运行时函数的模式。借助这些模式,IDA能够识别标准函数并相应地命名。

IDA尝试自动检测必要的签名文件,但不幸的是,这不总是可能的。此命令将指定的签名文件添加到计划的签名文件队列中。

签名文件位于SIG目录的子目录中。每个处理器都有自己的子目录。子目录的名称等同于处理器模块文件的名称(例如,z80对于z80.w32)。注意:IBM PC签名位于SIG目录本身。注意:IDASGN环境变量可用于指定签名目录的位置。

还有另一种加载签名文件的方法:可以按以下方式插入/删除签名文件:

●打开签名窗口

●按Ins将签名文件插入队列

●按Del从队列中删除签名文件

这是应用签名的首选方法,因为签名窗口中显示有用的信息,如识别函数的数量。

注意:FLIRT仅适用于具有正常字节大小的处理器。字节大小必须等于8(不支持具有宽字节的处理器,如AVR或DSP56K)

C头文件

操作名称:LoadHeaderFile

该命令允许您将C头文件中的类型声明应用于程序。IDA读取和解析指定的头文件,就像C编译器一样。换句话说,它模拟了C编译器的前端,并具有一些限制:

●仅允许类型声明。跳过输入文件中的函数定义

●不是所有的C++头文件都被支持,只能解析简单的类

●编译器特定的预定义宏没有定义,您必须在头文件中手动定义它们在加载头文件之前,请不要忘记在编译器设置对话框中指定编译器和内存模型。在当前数据库中,所有在输入文件中找到的类型声明都以类型库的形式存储。可以使用这些类型声明通过在“添加枚举类型...”和“添加结构类型...”对话框中按“添加标准结构”或“添加标准枚举”按钮来定义新的结构和枚举定义。如果输入文件中存在错误,则错误消息将出现在消息窗口中。在任何情况下,已解析的函数声明不会从数据库中删除。当发生20个错误时,IDA停止解析输入文件。IDA 7.7引入了一种基于libclang的替代头文件解析器。

展开阅读全文

标签:

读者也访问过这里:
邀请您进入交流群 点击扫码
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(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。
2023-09-27
ida如何转伪代码 ida伪代码怎么看
IDA Pro是一款常用的反汇编和反编译工具,可以帮助我们分析二进制文件的实现细节和执行过程,以便更好地理解程序的执行过程和逻辑。在进行逆向工程的过程中,我们经常需要将反汇编结果转换为伪代码,以便更好地进行分析和修改。本文将介绍如何使用IDA Pro转换为伪代码,并简单讲解ida伪代码怎么看。
2023-04-14
最新文章
IDA Pro动态调试教程需要配哪些环境 IDA Pro动态调试教程里断点通常下在哪里
光靠盯着反汇编和那些近似C语言的伪代码来看,很多分叉的执行路径其实还是很难吃准;所以大家就会关心IDA Pro的动态调试流程到底需要提前配好哪些环境,在实际操作里头断点一般又该下在什么地方比较管用,从自己拥有授权的测试小软件开始练手是一条比较稳当的路。在铺排环境的时候,不妨先把操作系统、处理器架构、程序要用的依赖库和输入文件都一一备齐,然后再顺着软件大致的执行路径,循序渐进地把中断位置加上去;这么做既能比较清楚地观察到程序是怎么跑起来的,也不容易被环境方面的小毛小病把思路搅乱。
2026-06-03
IDA Pro逆向教程练什么样本更合适 IDA Pro逆向教程里先练静态还是动态
刚开始学习IDA Pro的时候,如果一上来就选了过于复杂的样本,很容易就会陷进数量庞大的函数、库代码和异常分支里面,半天都理不出一个清晰的头绪。所以,先得弄明白两个很实际的问题:在IDA Pro的逆向学习过程中,到底该选什么样的样本来练手,以及在整个学习次序上,是应该先练静态分析,还是先练动态调试。一个比较稳妥的起步办法,是从自己动手编译的小型程序开始,先把程序的整体结构看明白,之后再打开调试器去验证自己之前的那些想法。练手用的文件范围,最好就严格限定在自编译程序、公开发布的教学样本,还有已经拿到明确授权的文件上面,不要直接去分析那些没有经过授权的商业软件,也尽量不要随便运行那些来源不明的程序。
2026-06-03
IDA Pro使用教程适合零基础吗 IDA Pro使用教程里哪些窗口最常用
很多人刚接触二进制分析的时候,很容易被IDA Pro的界面弄得不知所措,它的窗口多、地址多,汇编语句也排得密密麻麻。IDA Pro的使用教程到底适不适合零基础呢,答案是可以用来入门,只是不要刚上来就指望能看明白太复杂的样本。官方的入门资料里,也把IDA View、Pseudocode、Hex Dump View、Local Types和Functions View这几个窗口列为了初学者平时用得比较多的。所以零基础阶段最好先学会怎样加载文件、定位函数、查看字符串和跟踪调用关系,然后再逐步去补汇编与数据结构的知识,这样进入状态会更顺畅一些。
2026-06-03
IDA Pro下载教程该看哪个版本 IDA Pro下载教程安装后先检查哪些环境
刚开始使用IDA Pro的时候,要是教程的版本选得不对,后面很容易碰到各种别扭的情况。不同版本的软件,界面菜单的布局、许可证管理的方式、插件该放在哪个目录,还有一些功能入口的位置,都会跟着变化。按照Hex-Rays官方最新的发布记录,IDA 9.3sp1已经当成9.3系列的一个维护版本放出来了,它主要是改进了一下V850反编译器,顺带修了一些别的问题。如果是头一回装IDA,那优先去看9.3系列的教程会更合适;要是手上还在维护一些比较老的工程,那就应该根据机器上实际装的版本来找对应的资料,这样才不容易对不上号。
2026-06-03
IDA中文乱码通常和什么设置有关 IDA中文乱码出现后编码方式该怎么调整
在分析那些带有中文资源、日志文本或者配置内容的程序时,字符串窗口里时不时就会跳出问号、方框,或者干脆是一些没法阅读的字符。要弄清楚IDA里头的中文乱码通常跟哪些设置有关,还有乱码出现后编码方式该怎么去调整,先得分辨清楚这些乱码到底是出现在反汇编里的字符串、是Hex View右侧显示的那部分文本,还是旧数据库里留下来的注释。从7.0版本开始,IDA内部已经统一换成了UTF-8,但被分析的那个程序本身的原始字节,它照样可能用的是GBK、UTF-8、UTF-16LE这些不一样的编码,一旦判断错了,显示出来的东西就会不正常。
2026-06-03
IDA配置文件放在哪个目录 IDA配置文件改错以后怎么回退
很多人改IDA配置时,前面只是想调一个分析选项、界面行为或插件相关参数,结果一改完发现启动表现不对,甚至连原来的习惯都乱了。这个问题往往不是配置项本身有多复杂,而是没先分清IDA的配置文件到底放在安装目录还是用户目录,也没先想好改错以后该从哪一层回退。Hex-Rays官方文档已经把这条线说明白了,配置文件会按固定目录顺序查找,常见文件名也比较明确,所以只要先把目录和优先级理顺,后面的回退动作就会清楚很多。
2026-06-01

通过微信咨询我们

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

读者也喜欢这些内容: