在單片機語境里,“讀取”通常有三層含義:
通過官方調(diào)試口(ICSP 或 FMD-Link)把 Flash/EEPROM 里的程序或數(shù)據(jù)回讀到 PC,用來做量產(chǎn)校驗或在線升級。
不破壞封裝、不磨蓋,用第三方編程器或自制硬件直接 dump 整個程序區(qū)。
拆封裝、探針扎線,甚至 FIB 改線,把存儲陣列的電荷狀態(tài)讀出來。
下文把三種場景一次說明白,并給出可行性與風(fēng)險對照表。
? FMD-Link(或兼容的 FMD-ICE)+ FMD IDE
? FlashPro 下載器(支持批量校驗回讀)
? 程序 Flash(PROM 區(qū))
? 數(shù)據(jù) EEPROM
? SRAM(在線調(diào)試時可實時查看)
? 讀功能受“Code Protect”熔絲位控制。出廠默認(rèn)關(guān)閉保護(hù),用戶可在燒錄時勾選“Enable Code Protect”。
? 一旦開啟保護(hù),官方工具也讀不回程序區(qū),只能全片擦除后重新燒錄。
? 部分 Touch MCU(FT62F0Gx 等)在開啟“Boot + IAP”模式后,Boot 區(qū)仍可讀,應(yīng)用區(qū)被保護(hù)。
結(jié)論:只要沒開保護(hù),開發(fā)者隨時可讀;開了保護(hù),官方也束手無策。
? 采用單層金屬、0.35 μm OTP 工藝,顯微鏡下即可看清位線。
? 市面上有“一拖八”編程器聲稱可直讀,但只要 Code Protect 熔絲燒斷,數(shù)據(jù)線即被永久隔離,只能讀到 0x3FFF(全 1)。
→ 保護(hù)位一燒,直讀成功率 ≈ 0。
? 采用 0.15 μm MTP + 金屬 3 層工藝,位線埋在金屬 2 以下,非侵入式光學(xué)手段基本失效。
? 公開資料未發(fā)現(xiàn)第三方量產(chǎn)級漏洞;網(wǎng)上流傳的“FMD 旁路攻擊腳本”屬于實驗性質(zhì),需要 glitch 電源與精確時序,普通玩家不具備可復(fù)制性。
? 內(nèi)建 SWD 口,默認(rèn)開啟 RDP Level 1(相當(dāng)于 ST 的 Level 1)。
? 目前 RDP Level 2 尚未發(fā)現(xiàn)量產(chǎn)芯片啟用,因此可通過“SWD + 擦除解鎖”方式 dump SRAM,但 Flash 仍受保護(hù)。
→ 這類芯片的逆向難度與 STM32F0 系列持平。
? 需要 FIB 打開頂層金屬 + 激光切割保護(hù)熔絲 + 探針臺讀 bitline,單次開銷 > 5000 美元。
? 對 8-bit 小容量 MCU 來說,ROI 極低;只有大批量克隆時才可能采用,而輝芒微的單價普遍 < 0.3 USD,基本無利可圖。
場景 | 是否可讀 | 條件/工具 | 法律與風(fēng)險 |
---|---|---|---|
官方調(diào)試回讀 | ? | FMD-Link + 未開保護(hù) | 合法、無風(fēng)險 |
第三方編程器 | ?~?? | 保護(hù)位未燒 | 合法,但可靠性差 |
非侵入式旁路 | ?? | 需專用硬件+漏洞 | 灰色,可能侵權(quán) |
侵入式物理 | ? | FIB+探針臺 | 高成本、違法風(fēng)險高 |
量產(chǎn)前一定確認(rèn) Code Protect 狀態(tài):FMD IDE → Configure → Security → 勾選“Enable”即可徹底鎖死。
如果必須保留現(xiàn)場升級通道,可保留 Boot 區(qū)可讀,應(yīng)用區(qū)加密;使用官方 IAP Demo 做雙區(qū)備份。
對于高價值算法(如電機控制 PI 參數(shù)、加密密鑰),可放入 EEPROM 并啟用 EEPROM 讀保護(hù)位(EERE),防止官方工具回讀。
不要輕信“萬能編程器”廣告:輝芒微在 2023 年后已全面啟用新型 MTP + 熔絲保護(hù),公開渠道尚無可靠繞過方案。
三佛科技提供樣品,技術(shù)支持,可燒錄~
輝芒微 MCU 在設(shè)計之初就兼顧了“易開發(fā)”與“難破解”:
? 開發(fā)者手里,它是透明的;
? 逆向者手里,它是磨砂的;
? 只有在你主動把燈關(guān)掉(燒斷保護(hù)位)后,它才真正變成“黑盒”。