行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-10-25 09: 00: 00
IDA Pro 做为逆向工程领域必备工具,除了拥有强大的自身功能外,其开放的环境也为各类第三方提供了绝佳的插件开发支持,IDA Pro官方每年都会举办面向全球开发者的插件大赛,评选出一二三等奖,并分享给所有IDA Pro的用户。
今天我们要分享的是2022年插件大赛优秀作品,一款叫做 FirmLoader 的插件,这款 FirmLoader 插件可自动识别从微控制器中提取的固件映像的内存部分,帮助简化了理解二进制内容的过程,从而使您能更有效地实现反向目标。FirmLoader 插件类似于内置的 SVD 加载器,不过,它提供了一个更简单的数据结构,可以根据公开文档手动创建。
FirmLoader插件安装说明
FirmLoader 插件安装非常简单,将 firmloader.py 和 firmloader_data 文件夹复制到 IDA 插件文件夹(例如:cp -R fimrloader*
FirmLoader插件使用方法
将二进制文件加载到 IDA 中,确保基地址与给定处理器的文档一致,将主代码段的名称设置为 ROM,然后点击编辑 > FirmLoader ,在下拉菜单中选择 MCU 型号。请注意,这将触发二进制文件的自动分析。
FirmLoader插件的特点
创建 FirmLoader 插件的主要动机是为了能够根据文档创建简单的 JSON 结构,以补充 SVD 文件并增加一些功能:
1、自动添加基本 RAM
使用 FirmLoader 插件,您无需创建 RAM 部分,因为它会自动为您创建(包括分割在多个位置的 RAM 部分)。请注意,当 MCU 系列提供多种大小的内存时,该系列的所有单元都是以最大的 RAM 空间生成的。
2、中断向量表
SVD 加载器功能的另一项增强功能允许 FirmLoader 设置中断向量表(如适用),并将项目标记为代码段的指针,以便于立即检查各种事件处理程序。
3、手动创建描述文件
如果微控制器的架构不同,该插件使用的元数据结构要比 SVD 文件简单得多,因此可以轻松地根据文档手动创建。这样做可以避免将来再次遇到相同型号的 MCU 时,需要耗费大量时间来识别外设、段和中断处理程序。如果某些信息不可用或不适用于给定目标,只需将 data_template.json 中无关的部分清空(不要删除)即可。纯手动创建数据文件的例子是 SPC50B64x。
IDA官方对FirmLoader插件的点评
FirmLoader 插件使用更简单的 JSON 文件,是SVD 加载器的替代方案。该插件解决了使用默认 SVD 插件的两个痛点:
1、读写 XML 非常糟糕
2、在 SVD 插件中浏览制造商/设备列表很不方便。
虽然这些确实是令人烦恼的问题(第二点可以通过使用树状视图来解决),但该插件需要将 XML 文件重写为对应的 JSON 文件,我们可以借助转换器来完成。
请点击下方【下载完整资料】按钮获取插件安装包
展开阅读全文
︾
读者也喜欢这些内容:
IDA Pro如何处理混淆代码 怎么用IDA Pro做内存分析
如果你经常搞逆向工程、分析漏洞或者做软件安全研究,那你一定知道IDA Pro这款工具,现在,随着很多软件都用了混淆技术,逆向分析也变得越来越难。不过,IDA Pro提供了强大的功能,能轻松应对。今天,我们就来聊聊“IDA Pro如何处理混淆代码 怎么用IDA Pro做内存分析”。...
阅读全文 >
ida如何修改指令返回立即数 ida具备哪些指令修复功能
IDA是一款功能强大的反汇编工具,通过IDA,可以深入理解程序的底层指令进行各种操作,本文将为您介绍“ida如何修改指令返回立即数 ida具备哪些指令修复功能”的相关话题,帮助用户更好地掌握IDA的功能。...
阅读全文 >
idapro怎么输出伪代码 idapro怎么导出所有的伪代码
在信息安全和逆向工程领域,IDA Pro作为一种强悍的反汇编和调试工具,广泛用于二进制程序的分析和破解。IDA Pro的核心功能之一是导出伪代码,这对认知分析程序思路至关重要。本文将探讨“idapro怎么输出伪代码 idapro怎么导出所有的伪代码“...
阅读全文 >
如何使用IDA软件反编译功能提取程序中的变量信息 IDA软件反汇编功能如何快速定位关键函数
在逆向工程领域,IDA Pro软件以其强大的反编译和反汇编功能成为众多工程师和安全研究人员的重要工具。对于逆向分析而言,能够准确提取程序中的变量信息和迅速定位关键函数是至关重要的。本文将深入探讨“如何使用IDA软件反编译功能提取程序中的变量信息 IDA软件反汇编功能如何快速定位关键函数”,全面介绍IDA Pro的核心功能及其应用技巧,帮助用户高效开展逆向工程任务。...
阅读全文 >