0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IDAPro工具有哪些主要功能?它是如何工作的?

工程师邓生 来源:哲想软件 作者:哲想软件 2022-08-22 10:00 次阅读

IDAPro是逆向工程软件提供商Hex-Rays的旗舰产品。作为一个交互式可编程汇编程序和调试器,IDAPro在不同平台上提供了优异的质量性能,并与许多处理器兼容。IDAPro已成为恶意代码分析、漏洞研究和商业现成验证的事实标准。

IDAPro提供不同类型的许可证:命名许可证、计算机许可证、浮动许可证和教育许可证,以满足不同业务的规模和使用需求。

主要功能

用于大量处理器的反汇编模块。SDK甚至允许您运行自定义反汇编程序;

完整和可扩展的交互;

可编程:IDA可以使用IDC或IDAPython根据用户自己的需求进行扩展;

开放式插件架构:外部插件可以扩展IDA的功能;

检索技术(快速图书馆识别技术)

代码绘图;

Lumina服务器拥有大量已知功能的元数据;

多目标调试器

调试器添加了对反汇编程序静态收集的信息的动态分析;

提供调试器的所有预期功能以及更多:“远程”功能和跟踪。远程调试器:适用于Windows、Linux、MacOS X和其他任何组合的机器;

随着新的IDA版本的发布,我们引入了更多的功能和升级!

像往常一样,IDA在许多方面都有所改进,但这一次最重要的特点是引入了全新的IDATeams,这也是主要版本升级的理由。

IDATeams发布了

我们一直在努力完成我们的新产品的收尾工作:一套集成的工具,以实现[逆向]工程师团队之间的无缝协作。

受现有最佳版本控制工具的启发,IDATeams将其关键概念引入IDA数据库和工作流:

修订控制

更改属性

扩散和合并

我们感到非常骄傲和兴奋通过IDATeams所能完成的,希望您能欣赏它的潜力。但我们不会就此止步:我们对下一个版本已经有了很好的想法!

iOS16 dyld共享缓存支持

再一次,Apple修改了其移动操作系统上系统文件的内部格式,以提高性能和内存使用率,因此我们更新了IDA以支持新的调整。

c4950d50-20fc-11ed-ba43-dac502259ad0.jpg

功能概述

Apple在最近的iOS版本上使用的另一个新技巧是概述功能。这是一种代码大小优化,编译器将多个函数中使用的公共指令序列提取到一个新的伪函数中,然后从多个位置“调用”。

这种行为往往会使反编译的伪代码变得丑陋,尤其是当概述的函数使用来自父函数的任意寄存器或堆栈变量时。现在,您可以用一个特殊属性标记这些函数,反编译的代码看起来会更好。

例如,下面是一个经过优化编译的文件片段:

c4ce3ce2-20fc-11ed-ba43-dac502259ad0.jpg

在初始伪代码中,我们可以看到对编译器生成的函数NN片段的显式调用,以及一些用橙色标记的变量,因为反编译器认为它们被调用破坏(这是对常规函数的调用)。

在用“outline”属性标记这些伪函数并刷新伪代码后,反编译程序将所有内容都排成一行,不再有橙色变量:

c4fa9cf6-20fc-11ed-ba43-dac502259ad0.jpg

Golang1.18

新版本的语言改变了元数据的布局。新的IDA版本可以解析它并很好地恢复函数名。

例如,在IDA7.7中有一个剥离的golang1.18二进制:

c531f818-20fc-11ed-ba43-dac502259ad0.jpg

和IDA8.0中相同的二进制文件:

c562cc5e-20fc-11ed-ba43-dac502259ad0.jpg  

ARC反编译程序

ARC处理器用于许多嵌入式设备,如SSD驱动器Wi-Fi芯片组。直到几年前,它还是臭名昭著的英特尔ME的核心。新的反编译器支持IDA当前支持的所有ARC指令集变体:经典32位ISA、32/16位ARCompact和新的ARCv2。即时支持延迟槽、条件指令和零开销循环。

c58c4a98-20fc-11ed-ba43-dac502259ad0.jpg

不再使用Python2

Python2.7支持已经结束两年多了,是时候放手了。IDA8.0将只支持Python3.x,包括最新的3.10(Windowsinstaller包括Python3.10.5)。

由于functionfinder插件(patfind),固件分析效果更好

固件二进制文件通常没有任何符号或其他元数据来帮助IDA在未标记的加载数据中查找代码,因此用户必须手动执行。在新版本中,我们添加了一个插件,该插件利用了Ghidra中使用的模式格式(具有较小的扩展)。默认情况下,该插件对二进制和类似二进制的格式启用,并帮助IDA自动发现更多代码。也可以手动调用普通结构化文件,以查找其他未引用的代码。

c5c2cc58-20fc-11ed-ba43-dac502259ad0.jpg

初始自动分析后发现的函数数与默认设置的比较:

文件类型 IDA7.7 IDA8.0
CortexM0固件(8KB) 0 59
ARM9固件(23KB) 0 97
ARM11固件(300KB) 84 1697
PowerPC固件(2MB) 0 2223

FLAIR图案生成器(makepat

FLAIR工具包可供所有IDAPro客户使用,允许从静态库中创建调情签名。然而,这样的库并不总是可用的,有时您所拥有的只是最终链接的二进制文件。makepat插件支持为任意IDA数据库中的函数创建.pat文件。它使用为Lumina添加的功能来标记图案中的可变字节。然后可以使用sigmake将.pat编译为签名文件,并应用于其他文件

c5edce1c-20fc-11ed-ba43-dac502259ad0.jpg

什么是IDATeams?

IDATeams是将IDA进化为一种新模型,让分析师团队能够使用强大的客户机-服务器架构范式协同工作:

我们将位于中心的服务器称为Vault服务器,它是存储区域,用于保存所有文件并跟踪修改。该服务器是跨项目共享进度的中心点。

每次参与者通过服务器将其更改发布到团队的其他成员时,更改都会被记住。这样,就可以让团队成员在同一个项目上协同工作,而不会有数据丢失、多个相互竞争的“不同步”版本等风险。。。

除了新的Vault服务器外,我们还改进了IDA,使其可以作为一种工具,在同一个.idb文件的不同细化(即“修订”)之间进行比较。有了这个新功能,任何人都可以看到每个版本都引入了哪些更改:

c61fff7c-20fc-11ed-ba43-dac502259ad0.png

c64643d0-20fc-11ed-ba43-dac502259ad0.png

它是如何工作的?

IDA的一般工作流程保持不变:用户可以像以前一样在IDA中工作(在线或离线)。

但多亏了IDATeams的架构,他们现在有了更好的工具来向团队的其他成员发布他们的发现(以及检索其他成员所做的更改并从中受益)

IDATeams是HexRays对逆向工程团队中日益增长的协作需求的回应。以下是几个关键好处:

无缝集成

IDATeams是对IDAPro的改进版本,只为其添加了功能。在大多数情况下,现有工作流将保持不变。

轻松协作

对IDA的改进,以及一套新的工具,是处理大型项目的无价补充。

并行化逆向工程

IDATeams允许您跨多个用户无缝地共享逆向工程任务(可能同时工作)。

跟踪变化

讨论、回顾甚至纠正以前的更改。Vault服务器保留了一个记录谁做了什么(以及什么时候做的)的账本,为有时会令人困惑的上下文提供了一些线索。

现场

组织通过托管IDA团队来保留其所有IP。此外,它将与现有IT基础架构(和备份策略)无缝集成。Vault服务器可以托管在任何Linux服务器上,为您提供了广泛的选择,以保持数据的私密性和可靠的可访问性。

在线或离线

IDA团队服务器托管在本地,并不意味着用户必须亲自参与工作:完全可以在不在家的情况下,在没有互联网连接的情况下(例如,在飞机上)完成所有工作,并在访问服务器后立即使其可用。

轻松解决冲突

当两个(或更多)分析师修改项目的同一部分时,可能会出现冲突。在这里,您也介绍了IDATeams:新特性带来了一组解决这些问题的策略。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19135

    浏览量

    228955
  • 可编程
    +关注

    关注

    2

    文章

    836

    浏览量

    39770
  • 调试器
    +关注

    关注

    1

    文章

    300

    浏览量

    23677

原文标题:IDA 8.0---先进的二进制代码分析工具

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPD link主要功能模块

    电子发烧友网站提供《FPD link主要功能模块.pdf》资料免费下载
    发表于 09-27 11:38 0次下载
    FPD link<b class='flag-5'>主要功能</b>模块

    电子地图的主要功能与应用

    电子地图,即数字地图,是利用计算机技术,以数字方式存储和查阅的地图。它不仅继承了传统纸质地图的基本功能,还通过现代科技手段实现了诸多创新应用。以下是电子地图的主要功能与应用: 一、主要功能 快速存取
    的头像 发表于 09-12 11:18 1508次阅读
    电子地图的<b class='flag-5'>主要功能</b>与应用

    GUTOR不间断电源的主要功能是什么?

    GUTOR不间断电源的主要功能是什么?
    发表于 09-06 17:44

    RFID天线的工作原理和主要功能

    RFID(Radio Frequency Identification,无线射频识别)天线作为RFID系统中的关键组件,其工作原理和主要功能对于整个系统的性能和稳定性至关重要。以下是对RFID天线工作原理和
    的头像 发表于 08-09 15:38 967次阅读

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,提供了大量的计算机视觉算法和工具。以下是OpenCV的主要功能: 图像处理
    的头像 发表于 07-16 10:35 1294次阅读

    CAN总线测试工具主要功能

    CAN总线测试工具是用于测试CAN(Controller Area Network)总线通信的软件或硬件工具,其功能丰富且多样化。以下是CAN总线测试工具
    的头像 发表于 06-25 16:02 984次阅读

    连接器的主要功能是什么

    连接器的主要功能是实现电子设备之间的电气连接和信号传输。连接器的种类繁多,应用领域广泛,其主要功能可以归纳为以下几点: 电气连接:连接器的主要功能是实现电子设备之间的电气连接。连接器通过其金属接触件
    的头像 发表于 06-20 09:22 862次阅读

    传感器的主要功能是什么

    传感器是一种能够感知外界环境并将这些信息转化为可用信号的装置。它们在各行各业和领域中起到关键作用,被广泛应用于科学研究、医疗诊断、工业控制、农业生产等众多领域。传感器的主要功能包括测量和监测、控制和反馈、安全和监控、诊断和检测以及位置和导航,本文将详细介绍传感器的主要功能
    的头像 发表于 01-27 17:10 2859次阅读
    传感器的<b class='flag-5'>主要功能</b>是什么

    滤波器的主要功能和作用科普

    滤波器是一种用于处理信号的电路或系统,其主要功能和作用包括
    的头像 发表于 01-25 18:10 7338次阅读

    什么是ccd,主要功能是什么

    的原理、结构、工作原理以及主要功能。 首先,我们来了解一下CCD的原理和结构。CCD是由两个基本构件组成:感光电荷转换器和信号传输器。感光电荷转换器由一系列的感光单元阵列组成,每个感光单元都是光敏电容器,负责将光信号转换为电荷信号。而信号传输器则是负责将电荷
    的头像 发表于 01-22 15:10 8373次阅读

    示波器的主要功能和作用 示波器可以测量哪些参数

    的应用。 一、示波器的主要功能和作用: 1.波形显示:示波器最基本的功能是将电信号波形转换为图形显示,通过图像可以直观地分析和判断信号的特性。示波器的屏幕通常是一个矩形的光栅,通过在上面绘制图形和标记,可以清楚地观察信号
    的头像 发表于 01-19 15:50 1.2w次阅读

    bms主要功能有哪些

    、储能系统等新能源领域的关键部件,其主要功能是对电池组进行实时监控、保护和管理,以保证电池组的安全、稳定和高效运行。本文将对BMS的主要功能进行详细介绍。 数据采集:BMS通过传感器对电池组的电压、电流、温度等关键参数进行实时采集,以便对电池组的
    的头像 发表于 01-05 18:09 7858次阅读
    bms<b class='flag-5'>主要功能</b>有哪些

    集成放大电路中输出级的主要功能

    主要功能,并探讨其工作原理、应用和性能优化。 一、输出级的主要功能 集成放大电路输出级的主要功能是放大输入信号,并将其输出到外部负载上。具体来说,它需要完成以下几个任务: 放大信号:
    的头像 发表于 12-29 10:34 1275次阅读

    电源滤波器的主要功能和作用

    电源滤波器是电子设备中非常重要的一部分,其主要功能是过滤电源中的杂波和干扰信号。
    的头像 发表于 12-25 18:19 1543次阅读

    AMI网络的主要功能

    电子发烧友网站提供《AMI网络的主要功能.pdf》资料免费下载
    发表于 11-27 11:56 0次下载
    AMI网络的<b class='flag-5'>主要功能</b>