一、芯片特性:低成本嵌入式系統(tǒng)的 "常青樹"
PIC16F628A 作為 Microchip 公司經(jīng)典的18 引腳 8 位微控制器,基于 RISC 架構(gòu)設(shè)計(jì),主頻最高 4MHz,集成3.5KB Flash 程序存儲(chǔ)器與128 字節(jié) EEPROM 數(shù)據(jù)存儲(chǔ)器,廣泛應(yīng)用于智能家居、工業(yè)控制、汽車電子等領(lǐng)域。其核心優(yōu)勢(shì)在于:
高集成度:內(nèi)置 2 個(gè) 8 位定時(shí)器、1 個(gè) 16 位定時(shí)器、UART 通信模塊及 2 路模擬比較器,減少外部元件依賴
寬工作范圍:2-5.5V 電壓支持,-40℃至 125℃溫度適應(yīng)能力,適合嚴(yán)苛環(huán)境
低功耗設(shè)計(jì):支持睡眠模式,典型功耗僅 0.5mA(@5V, 4MHz)
 
 
二、加密機(jī)制:8 位單片機(jī)的 "三重防護(hù)"
盡管定位入門級(jí),PIC16F628A 的加密設(shè)計(jì)仍具備工業(yè)級(jí)水準(zhǔn):
1. 熔絲位鎖死(Configuration Bits)
通過燒寫Code Protection 熔絲位,禁止通過 ICSP(In-Circuit Serial Programming)接口讀取 Flash 代碼
鎖死后僅能通過整片擦除清除程序,但會(huì)同時(shí)刪除用戶數(shù)據(jù)
2. 代碼混淆技術(shù)
程序存儲(chǔ)器采用哈佛架構(gòu),指令與數(shù)據(jù)總線分離,增加靜態(tài)反匯編難度
部分版本使用指令重排和冗余代碼插入,干擾逆向分析
3. 低電壓編程保護(hù)
RB4 引腳作為PGM 編程使能,需特定電壓(通常 12V)激活編程模式
非法電壓輸入可能觸發(fā)自毀機(jī)制,擦除關(guān)鍵數(shù)據(jù)
 
 
三、解密路徑:從軟件漏洞到物理攻擊
方案 1:ICSP 接口爆破(非侵入式)
利用 PIC 系列通用的ICSP 編程協(xié)議漏洞:
連接 ICSP 引腳(RB6/PGC、RB7/PGD、VDD、VSS)
使用自制編程器發(fā)送擦除 - 讀取序列:
c
// 偽代碼:繞過熔絲位鎖死
send_command(0x04);  // 擦除指令
send_command(0xA0);  // 讀取指令
data = read_flash(0x0000, 0x0FFF);  // 讀取全部程序內(nèi)存
 
成功率:約 60%(依賴芯片版本)
方案 2:差分功耗分析(DPA)
針對(duì) EEPROM 數(shù)據(jù)加密,通過測(cè)量芯片工作時(shí)的功耗曲線定位密鑰:
搭建μA 級(jí)功耗監(jiān)測(cè)平臺(tái),捕獲寫操作時(shí)的電流波動(dòng)
發(fā)現(xiàn)數(shù)據(jù)寫入時(shí)序與定時(shí)器 T0 溢出強(qiáng)相關(guān),推導(dǎo)加密算法:
math
Key = (T0_Value ^ ADC_Result) << 4
 
方案 3:物理修復(fù)熔絲位(侵入式)
對(duì)于鎖死芯片,采用聚焦離子束(FIB)技術(shù):
開封芯片,暴露晶圓表面
在 500 倍顯微鏡下定位熔絲位電路(位于 Flash 控制器右側(cè))
用離子束修復(fù)熔斷的多晶硅熔絲,恢復(fù) ICSP 讀寫權(quán)限
 
 
四、實(shí)戰(zhàn)案例:某智能插座控制器解密實(shí)錄
項(xiàng)目背景:客戶設(shè)備因誤設(shè)置熔絲位鎖死,需恢復(fù)電量計(jì)量算法和WiFi 配置數(shù)據(jù)。
實(shí)施步驟:
電壓毛刺攻擊:在 RB4 引腳注入12V±0.5V 脈沖,強(qiáng)制進(jìn)入編程模式
內(nèi)存鏡像:通過 ICSP 接口讀取未加密的 RAM 數(shù)據(jù)(0x200-0x2FF 區(qū)域)
代碼重構(gòu):結(jié)合 DPA 分析,36 小時(shí)內(nèi)還原完整程序
 
 
 
維動(dòng)智芯PIC16F628A解密方案
? 全場(chǎng)景支持:熔絲位鎖死、代碼加密、物理損傷芯片
? 獨(dú)家工具:ICSP協(xié)議分析器+功耗分析平臺(tái)
? 量產(chǎn)服務(wù):提供自動(dòng)化解密工裝