固件提取

前言

无处不在的物联网设备,也可能成为无所不在的安全隐患,物联网安全问题一直是困扰物联网快速发展的一大难题。作为安全研究员在研究物联网设备的安全问题时,对设备的固件进行安全分析是必要的。固件是刷写在芯片中的嵌入式系统。固件的获取途径一般有两种,1、从厂商那里申请获取设备的固件。2、从硬件中提取设备固件,需要有相应的测试设备。以下我们以提取国内一家做基于区块链的IoT设备中的固件为例。

使用工具

  • 1.风枪(温度:有铅锡熔点是183℃,拆除理想温度是185~190℃。无铅锡熔点是217℃拆除理想温度是235℃。实际操作更复杂,要多练习才能完好的把芯片取下。)
  • 2.助焊剂
  • 3.镊子
  • 4.U盘编程器
  • 5.锡珠
  • 6.植锡网
  • 7.RT809-H编程器
  • 8.放大镜

识别芯片

常见的识别芯片的方法:
1.可以通过芯片上的标签,标签中可能包含了制造商名称、型号和芯片描述
2.可以通过观察电路的设计方式,如下图(图片来自网络)

片上系统(SoC)是右侧这块最大的芯片,中间的芯片是RAM(与SOC之间的接线是弯曲的,这是为了保证所有连线有相同的长度,因为高速RAM需要准确的定时信号),最左边这片是flash(大量平行的连线用于传输并行的数据信号)。

一. 摘取芯片

首先要分辨出PCB板上的flash芯片。由于原板已经被拆解的面目全非,找不到完整的PCB板的图,所以就只有单个芯片的图
查询芯片型号找到了flash芯片,三星公司的 KLM8G1GEME -B041内存芯片 采用了eMMC技术(型号:eMMC_153)

摘取eMMC芯片是需要一个手巧,且费心力的技术活,这块板子用的还是无铅的锡来焊接的芯片,由于无铅锡比有铅锡纯度更高,所以熔点更高。但是芯片可承受的温度是不变的。

拆解芯片需要给芯片的引脚涂上助焊剂,把风枪的温度调整到350度左右,将风枪口放置在芯片上方5CM的高度来回摆动让芯片所有引脚受热均匀,注意要给周围的元器件贴上高温胶带防止被风枪吹掉或损坏。(由于经验不足,导致板子的导线都被扯了出来)


获得:废板一块,eMMC芯片一枚
废板可以用来继续联系摘取与焊接BGA芯片,而这个芯片我们就要取读取其中的固件了
读取固件这里我们有两个思路:
1. 使用这个eMMC芯片制作U盘,通过U盘编程器上的主控芯片和软件读出芯片中的数据
2. 使用RT809H编程器读出芯片中的固件

注::有铅锡和无铅锡的区别

二. 制作U盘编程器

1.清洗芯片引脚

首先把刚取下的芯片上的焊点清理干净,使引脚平整。

2.植球

然后在芯片上值上新的引脚,这个操作叫做植球。需要买来合适的钢网和锡珠才可以进行这步操作 (图片来源于网络,图中的芯片型号和测试设备中的芯片型号不同)

在芯片上抹上适量的助焊剂,助焊剂可以起到一定的固定钢网和附着锡珠的作用。
再像上图那样将钢网按照芯片引脚放在芯片上,倒上锡珠,使每个引脚上都有锡珠,用风枪把锡珠吹融化附着在芯片引脚上,植珠就完成了

3.焊接并读取U盘数据

U盘编程器

接下来要将植珠好的芯片焊接在U盘编程器上

将芯片对应编程器上的引脚放好,使用风枪吹芯片,让锡珠融化,焊接在编程器上。U盘编程器就做好了
后续使用windows系统读取U盘时发现不能识别到U盘。
因为芯片中的文件系统是ext4,后又使用Linux系统对U盘进行读写,也识别不到设备。
然后使用一款数据恢复工具去读取U盘也是识别不到。
总结:U盘编程器板子到货之后测试过没有问题,eMMC芯片后来也被证实可以读出数据。电脑识别不到设备的问题可能是编程器的主控芯片对这个并不兼容,也可能是芯片焊接有问题,因为时间问题并没有深究故障原因。

三. RT809H编程器读取eMMC芯片数据

1.安装芯片

将芯片放好在专用座子里并将座子放在编程器上锁紧

使用软件对芯片进行自动识别


识别出了通用emmc芯片

2.读取芯片

点击面板上的读取来获取芯片中的固件

有时会出现引脚接触不良的情况,可以在锁紧板和芯片之间放一些柔软的物体来增加芯片和座子上引脚的贴合度


当进度条显示100%时,固件读取就完成了


BIN文件就是我们需要的固件,里面包含我们固件分析要用到的文件系统

四.总结

这篇文章主要总结了提取固件的一般流程:识别芯片,摘取芯片,读取芯片。
U盘编程器虽成本低,但是中间需要较多手动操作的环节,某一个环节操作不细致就有可能损坏芯片,造成损失或者出现一个很难排查的错误,排查错误本身也会造成时间成本浪费。RT809H编程器加上eMMC专用的座子,省去了使用U盘编程器的焊接步骤,也不用担心编程器是否兼容芯片,甚至可以帮你在不知道芯片型号的情况下自动识别芯片型号,提高工作效率,把精力放在固件安全分析上。后续TCC IoT安全研究团队会分享更多关于IoT设备的安全分析文章。

参考链接:https://blog.riskivy.com/iot%E7%B3%BB%E5%88%97-%E8%8A%AF%E7%89%87%E6%8F%90%E5%8F%96%E5%9B%BA%E4%BB%B6/
  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: jlinkv9固件提取工具是一款非常实用的工具,它可以用来提取J-Link V9的固件。J-Link V9是Segger公司推出的一种非常实用的Debug工具,它可以让开发者通过串行线或者SWD线,连接到目标板或者仿真器,从而进行调试以及Flash编程等操作。 然而,在使用J-Link V9时,开发者很可能遇到固件升级的问题,而固件升级需要用到新的固件文件。而仅有的放置新的J-Link V9固件文件的方法是通过官方提供的GUI界面,但这样操作非常不直观。因此,jlinkv9固件提取工具的出现解决了这个问题。 使用jlinkv9固件提取工具,开发者可以很方便地从J-Link V9中提取固件文件。只需要将J-Link V9通过USB线连接到电脑上,然后打开jlinkv9固件提取工具,就可以将固件文件提取出来并保存到硬盘中。这样一来,开发者就可以很方便地管理、更新和备份J-Link V9固件文件了。 总之,jlinkv9固件提取工具是一个非常实用的工具,它让开发者可以更加方便地管理J-Link V9固件文件,提高了开发效率和开发质量。 ### 回答2: jlinkv9固件提取工具是一种先进的工具,可用于提取和处理J-Link V9的固件。它的主要目的是使用户能够更轻松地管理和维护他们的J-Link V9设备。 使用jlinkv9固件提取工具,用户可以方便地复制和备份J-Link V9设备上的固件,以备将来使用或恢复。当需要在多个J-Link V9设备之间进行升级或调试时,这非常有用。 此外,jlinkv9固件提取工具还可以帮助用户诊断和解决J-Link V9设备的问题。通过提取固件,用户可以更轻松地分析设备的工作状态,并确定是否存在任何错误或故障。 总之,jlinkv9固件提取工具是一项非常有用的工具,可帮助用户更轻松地管理和维护他们的J-Link V9设备,同时帮助他们诊断和解决设备问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值