行业解决方案查看所有行业解决方案
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怎么修改字符串内容?IDA修改后怎么保存?
在软件开发和逆向工程领域,IDA Pro是一种极其强悍的工具,广泛用于程序剖析、调试和修改。它不仅支持多种处理器架构,还提供了大量的作用,以适应高档讲解的必须。本文将围绕ida怎么修改字符串内容,ida修改后怎么保存这一主题,详细描述怎样在IDA中更改字符串内容,及其修改后的存放方式。此外,我们还将探讨IDA转变的应用场景,帮助读者更深入地了解IDA的实际应用价值。...
阅读全文 >
汽车逆向工程是什么?使用IDA进行汽车逆向工程教程
汽车工业正面临着史无前例的技术创新,其中,车辆逆向工程作为一种新兴技术,正成为该行业的热点话题。结合IDA(Interactive Disassembler)该前沿逆向工程工具,车辆逆向工程的应用范围和深度不断发展。文中旨在深入分析汽车逆向工程是什么?使用IDA进行汽车逆向工程教程,分析IDA在车辆系统中的运用,为汽车行业的技术人员及发烧友提供有价值的参考信息。...
阅读全文 >
IDA反编译以后如何转成源码?IDA反编译修改后重新编译
在软件开发和安全分析领域,IDA(Interactive Disassembler)作为一款强大的逆向工程工具,常被用于软件的反编译过程。反编译是指将编译后的程序还原为更易于理解的源码形式,这一过程在软件分析和调试中至关重要。...
阅读全文 >
怎么把汇编语言转化为c语言 怎么把hex文件转换成c文件
在计算机编程的广阔领域中,理解不同编程语言之间的转换机制是一项重要的技术挑战。特别是在涉及到汇编语言和C语言这两种在软件开发中极为重要的语言时,了解它们之间的转化过程显得尤为关键。...
阅读全文 >