一、芯片特性:低成本嵌入式系统的 "常青树"
PIC16F628A 作为 Microchip 公司经典的18 引脚 8 位微控制器,基于 RISC 架构设计,主频最高 4MHz,集成3.5KB Flash 程序存储器与128 字节 EEPROM 数据存储器,广泛应用于智能家居、工业控制、汽车电子等领域。其核心优势在于:
高集成度:内置 2 个 8 位定时器、1 个 16 位定时器、UART 通信模块及 2 路模拟比较器,减少外部元件依赖
宽工作范围:2-5.5V 电压支持,-40℃至 125℃温度适应能力,适合严苛环境
低功耗设计:支持睡眠模式,典型功耗仅 0.5mA(@5V, 4MHz)
二、加密机制:8 位单片机的 "三重防护"
尽管定位入门级,PIC16F628A 的加密设计仍具备工业级水准:
1. 熔丝位锁死(Configuration Bits)
通过烧写Code Protection 熔丝位,禁止通过 ICSP(In-Circuit Serial Programming)接口读取 Flash 代码
锁死后仅能通过整片擦除清除程序,但会同时删除用户数据
2. 代码混淆技术
程序存储器采用哈佛架构,指令与数据总线分离,增加静态反汇编难度
部分版本使用指令重排和冗余代码插入,干扰逆向分析
3. 低电压编程保护
RB4 引脚作为PGM 编程使能,需特定电压(通常 12V)激活编程模式
非法电压输入可能触发自毁机制,擦除关键数据
三、解密路径:从软件漏洞到物理攻击
方案 1:ICSP 接口爆破(非侵入式)
利用 PIC 系列通用的ICSP 编程协议漏洞:
连接 ICSP 引脚(RB6/PGC、RB7/PGD、VDD、VSS)
使用自制编程器发送擦除 - 读取序列:
c
// 伪代码:绕过熔丝位锁死
send_command(0x04); // 擦除指令
send_command(0xA0); // 读取指令
data = read_flash(0x0000, 0x0FFF); // 读取全部程序内存
成功率:约 60%(依赖芯片版本)
方案 2:差分功耗分析(DPA)
针对 EEPROM 数据加密,通过测量芯片工作时的功耗曲线定位密钥:
搭建μA 级功耗监测平台,捕获写操作时的电流波动
发现数据写入时序与定时器 T0 溢出强相关,推导加密算法:
math
Key = (T0_Value ^ ADC_Result) << 4
方案 3:物理修复熔丝位(侵入式)
对于锁死芯片,采用聚焦离子束(FIB)技术:
开封芯片,暴露晶圆表面
在 500 倍显微镜下定位熔丝位电路(位于 Flash 控制器右侧)
用离子束修复熔断的多晶硅熔丝,恢复 ICSP 读写权限
四、实战案例:某智能插座控制器解密实录
项目背景:客户设备因误设置熔丝位锁死,需恢复电量计量算法和WiFi 配置数据。
实施步骤:
电压毛刺攻击:在 RB4 引脚注入12V±0.5V 脉冲,强制进入编程模式
内存镜像:通过 ICSP 接口读取未加密的 RAM 数据(0x200-0x2FF 区域)
代码重构:结合 DPA 分析,36 小时内还原完整程序
维动智芯PIC16F628A解密方案
✅ 全场景支持:熔丝位锁死、代码加密、物理损伤芯片
✅ 独家工具:ICSP协议分析器+功耗分析平台
✅ 量产服务:提供自动化解密工装