行业解决方案查看所有行业解决方案
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模拟器调试已经是一个不可或缺的环节。特别是当涉及到复杂的安卓模拟器环境时,ida动态调试更显示出其不可替代的重要性。...
阅读全文 >
IDA Pro 2022插件大赛:ida_bochs_windows插件
今天我们要分享的是2022年插件大赛优秀选手,一款叫做 ida_bochs_windows 的插件。ida_bochs_windows 是在本地 Bochs 调试器上使用 IDA Pro 调试 Windows 内核的辅助脚本(包括 PDB 符号)。ida_bochs_windows 插件可用于在 Bochs 调试时加载模块与符号信息,方便调试。...
阅读全文 >
IDA Pro 2022插件大赛优秀作品:Condstanta插件下载
Condstanta 可用于搜索条件语句(如 if 和 switch-case)中,所使用的常量值或包含多个特定常量的函数。 Condstanta 插件允许我们搜索精确数字、数字范围和特定常量列表。...
阅读全文 >
软件调试是干什么的 IDA如何进行软件调试
在软件开发和计算机科学领域,软件调试是一个至关重要的过程。它涉及识别、定位和解决软件程序中的错误和问题。...
阅读全文 >