首页
社区
课程
招聘
[IDA使用技巧]#007: IDA命令行选项速查表
发表于: 2024-3-14 11:24 2554

[IDA使用技巧]#007: IDA命令行选项速查表

2024-3-14 11:24
2554

翻译:梦幻的彼岸

原文地址:https://hex-rays.com/blog/igor-tip-of-the-week-07-ida-command-line-options-cheatsheet/

大多数 IDA 用户可能将 IDA 作为独立应用程序运行,并使用用户界面配置各种选项。不过,也可以向 IDA 传递命令行选项,以自动完成某些部分的操作。完整选项相当长,因此我们只介绍比较常用和有用的选项

在下面的示例中,对于 64 位文件,可以用ida64代替ida,对于控制台(文本模式)用户界面,可以用idat(idat64) 代替 ida。

在 IDA 中打开文件即可

ida <filename>

<filename[文件名]>可以是要反汇编的新文件,也可以是现有的数据库。这种用法与使用 "文件">"打开 "或将文件拖放到 IDA 图标上的方法基本相同。你仍然需要手动确认 "加载文件 "对话框或 IDA 显示的任何其他提示中的选项,但跳过了最初的闪屏。

如果使用了其他命令行选项,请确保将其放在文件名之前,否则会被忽略。

打开文件并自动选择加载器

ida -T<prefix> <filename>

其中<prefix[前辍]>是加载文件对话框中显示的加载程序说明的唯一前缀。例如,在加载 .NET 可执行文件时,IDA 会提供以下选项:

  • Microsoft.Net 程序集
  • 用于 AMD64 的可移植可执行文件 (PE)
  • MS-DOS 可执行文件 (EXE)
  • 二进制文件

对于每一种情况,相应的 T 选项可能是

  • -TMicrosoft
  • -TPortable
  • -TMS
  • -TBinary

当前缀包含空格时,请使用引号。例如,从Fat Mach-O 文件加载第一个片段:

ida "-TFat Mach-O File, 1" file.macho

在前缀包含空格时,请使用引号。例如,要加载来自fat Mach-O文件的第一个片段:

ida -TZIP:classes.dex:Android file.apk

不过,通常最好在顶层选择 APK 加载器(尤其是在多 Dex 文件的情况下)

ida -TAPK file.apk

指定-T时,将跳过初始加载对话框,IDA 将直接使用指定的加载器加载文件(但仍可能显示其他提示)。

自动接受任何提示、信息或警告

有时,你只想加载文件并接受所有默认设置。在这种情况下,可以使用 -A 参数:

ida -A <filename>

这将使用自主 或 批处理模式加载文件,在这种模式下,IDA 不会显示任何对话框,而是在任何情况下都接受默认答案。

在此模式下, 加载完成后不会 显示任何 交互式对话框(例如,连 "重命名 "或 "添加注释 "都不会显示)。要恢复交互性,请在 IDA 窗口底部的 IDC 或 Python 控制台中执行batch(0)语句。

批量拆解

这是上一节的扩展,使用 -B 参数调用:

IDA -B <filename>

IDA 将使用所有默认选项加载文件,等待自动分析结束,将反汇编输出到<filename>.asm中,并在保存数据库后退出。

二进制文件选项

在加载原始二进制文件时,IDA 无法使用 ELF、PE 或 Mach-O 等高级文件格式中的任何元数据。特别是,处理器类型和加载地址无法从文件中推导出来,必须由用户提供。为了加快工作流程,可以在命令行中指定它们:

ida -p<processor> -B<base> <filename>

<processor[处理器]>是 IDA 支持的处理器类型之一。 某些处理器还支持冒号后的选项。

<base[基础]>是以段为单位的十六进制加载基址(每16字节为一组)。在实践中,这意味着您应该从完整地址中删除最后一个零。

例如,要加载线性地址为 0xBFC00000 的大二进制 MIPS 固件,可以使用

ida -pmipsb -bBFC0000 firmware.bin

映射到 0x4000 的 Cortex-M3 固件:

ida -parm:ARMv7-M -b400 firmware.bin

日志记录

当IDA独立运行时,您可能会错过通常在输出窗口中打印的消息,但它们可能包含重要的信息消息、错误或警告。为了保留消息的副本,您可以使用-L参数:

ida -B -Lida_batch.log <filename>






[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//