硬件层面的修改在现实生活中是相当常见的事情,所谓的硬改、魔改、硬破等等说法,指的就是在硬件层面对设备进行diy功能改造。例如针对传统路由器的硬件架构,替换大容量的内存和闪存芯片,使之能够刷openwrt系统;对某些设备进行配置层的升级,如iPhone,小米等手机内存扩容,使之具有更大容量的存储空间和运行内存; 以及对设备的破解,例如ps,xbox等游戏主机系列的硬破、软破,还有对各种加密录音笔,摄像头,加密U盘和硬盘的破解。
研究硬件修改对硬件diy改造,以及厂商在硬件层的安全防护具有非常重要意义。硬件层修改分为硬改和软改两个部分,硬改是对硬件中芯片和电路的改造、替换等,软改是针对芯片固件的修改、重打包等。本节将用具体的几个实例展示如何对设备进行硬改。
目前市面上主流的路由器,平时家用功能或许够用,但如果需要一些高级功能,比如屏蔽广告,挂等等又难以实现,而采用openwrt系统可以充分满足定制化和diy的需求,openwrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,但如果专门购买openwrt系统的路由器,价格却又不是十分亲民,如果能把传统路由器通过硬件修改,刷入openwrt系统,就是个低成本的解决方案了,本次用来硬改的路由器具体参数如下:品牌:TP-Link, 型号:WR842N,版本:v4.3,采用高通QCA9533的主控,16M的闪存、2M的flash芯片,虽然是老机器,但除了不能外接usb,基本满足需求,当然价格也便宜。
不得不说TP-Link最近出的机器,硬件缩水越来越严重,新的机器,闪存都集成到了CPU里面,基本没有硬改的空间了。
openwrt系统最低硬件配置需要32M内存+8M存储芯片,因此需要更换机器上对应的两块芯片,下图红框部分。
首先更换内存芯片,换上64M内存芯片,新手的话,建议通过风枪来拆芯片,先用胶带保护一下芯片周围的元件,防止吹飞掉,加点助焊膏,温度稍微高一点。
芯片拆下后,先清洁一下焊盘,用吸锡线去掉焊盘上残余的锡,使焊盘平整,便于对齐芯片引脚。
清洁完成后,换上64M芯片,注意芯片上的小圆点就是第一脚,需要跟焊盘上的右下角的小圆点对齐,方向不对,芯片就白焊了。
对齐芯片后,先上一点锡,把芯片固定住,然后涂上助焊剂,为了防止引脚锡粘连,建议助焊膏多放一点,然后采用堆锡法,烙铁头采用弯头,便于拖动焊锡,温度稍高一点,一般无铅锡丝温度在380左右,否则焊锡拖不动,注意锡要适量,否则处理起来比较麻烦,用烙铁头的弯曲处沿着引脚朝一个方向拖动,可能会有剩余的锡处理不掉,可以用吸锡线处理。焊好一侧后,继续用同样的方式焊另一侧,全部焊接完成之后,让芯片自然冷却后,用洗板水或无水酒精清洗干净。
先通电测试下路由器工作是否正常,如果亮灯不正常,就需要补焊一次。
确认路由器工作正常,接下来拆下flash芯片,同样用风枪,拆下后,处理一下焊盘。
在恩山上下载了LEDE17.1的编程器固件,支持WR842N型号路由器,明月固件也可以,然后把bin文件通过编程器刷进芯片中。
编程器刷入固件。
把烧录完成后的芯片取出,然后焊接上,同样注意引脚的方向,芯片上的小圆点为第一脚,对准焊盘上的第一脚,加点助焊膏。
存储芯片引脚间距较大,用烙铁头粘上一点锡,采用点焊法即可焊上。
全部焊接完成,把板子清洁一下,重新通电测试,路由器正常,搜索到wifi信号后连接,后台地址:http://192.168.1.1/ 默认用户名和密码;root、root,登录进去,一切正常,说明硬改成功。
openwrt刷好后,需要先修改密码,然后开启一下ssh,就可以用ssh登录管理了,网上很多编译好的安装包,根据自己的需要安装。
在对某品牌智能摄像头进行串口调试时,发现厂商对串口进行了加密,需要输入root密码才能登陆系统。
尝试读取固件中的shadow文件,随即拆掉芯片进行固件读取,飞线读写的成功率不高。
成功提取固件,找到密码,却暴力破解不了,可行的方案是修改密码然后重新打包固件在刷进芯片中了,改完密码后,重打包在刷进去。
固件修改重刷之后,通电测试发现摄像头并不能启动,排查问题根源在于固件重打包过程出了问题,内部可能也有校验,反复多次试验后,出现了意料之中的事情,因为摄像头较为廉价,PCB做工用料并不是十分优秀,反复拆焊导致焊盘损坏,芯片焊上去出现短路、断路等等问题,绝缘层脱落,采用飞线也无法解决,机器彻底报废,最终出现了如下尸横遍野的结果。
固件修改重刷是难以一次修改成功的,报废过多,造成太多的浪费,最终想到采用全部焊点飞线到烧录座上,在把芯片放在烧录座上,只要保证焊接不出错,飞线距离够短,就能保证焊盘不受损坏,固件也可以反复烧录测试。
首先拆掉芯片,周围同样采用胶带保护一下。
飞线采用很细的漆包铜线,线长控制在10厘米以内,刮去漆包线头的绝缘层,然后依次飞线焊接,注意焊盘和烧录座引脚的顺序。
继续修改固件测试,修改的细节在之后固件修改章节会详细说明,
因为芯片放在烧录座上,可以轻易的取下重刷,极大的提高了效率,最终成功修改好密码,固件刷录,机器开启正常。
用修改之后的密码成功登陆进行串口调试,继续更深层次的安全检测,此处调试接口RX、TX焊点已引出,方便接线。
小米手机一向以性价比著称,但其中的小米5作为2016年的旗舰机,却受到颇多的诟病,核心在于采用的是高通骁龙820的CPU,高配版的内存RAM都只有3G,导致手机运行中不是很流畅,鉴于内存过低,因此准备魔改成6G内存,本次更换的芯片为三星K3RG6G60MM-MGCJ-LPDDR4-6G内存芯片。
说干就干,小米5的话,还是很好拆的一种机型,后盖可以直接打开,然后把螺丝、排线、电池一一取下,主板拿出来即可,注意电池因为背面贴有双面胶,一定不要用蛮力,否则可能损坏底部的排线和屏幕。
主板取下后,没有被屏蔽罩保护的就是内存芯片,揭开散热垫,小米5自带的内存芯片型号为:海力士skhynix-H9HKNNNDGUMU-BRNMH-3Gbit-LPD4。
拆内存芯片要注意保护好周围元器件,贴上高温铝箔纸,涂上焊膏,风枪先给板子预热几秒,然后在距离芯片1厘米左右位置,沿着芯片四周按照同一个方向转动,使芯片均匀受热,防止爆板和爆片。
BGA焊接,植锡球是关键,植锡之前,必须把植锡网清洁干净,选用合适的锡球和BGA专用焊膏,先把芯片涂上一层焊膏,涂抹要均匀,注意不要过多,以植锡网覆盖上去后,焊膏不能溢出植锡网孔为准,否则会粘连锡球,选用0.25的无铅低温锡球,把芯片在植锡台上放好,然后盖上植锡网,要对准芯片的焊点,然后盖上固定盖。倒进锡球,稍微晃动一下,使锡球均匀的分布在网孔里,然后倒掉多余锡球,取下植锡网,在用热风枪加热植好锡球的芯片,使锡球固定,注意要缓慢移动风枪,风嘴距离芯片要稍远一点,防止锡球吹飞。
先给焊盘均匀的上好一层焊膏,植好锡球的芯片,对准主焊盘,然后放置到BGA返修台上固定好,先100度预热烘干,在执行BGA焊接曲线。
名称 | 链接 |
---|---|
《物联网安全百科》 | iot-security.wiki |
伏宸安全实验室 | future-sec.com |
IOT Security | iot-security.org |
Yaseng Blog | yaseng.org |
知乎专栏 | zhuanlan.zhihu.com |
邮箱 | [email protected] |
qq 交流群 | 306482276 |
微信公众号 | |
微信交流群 |