為什么說破解單片機(jī)很容易
出處:面包板 發(fā)布于:2019-09-03 14:21:37
MCU的安全等級正在逐步提升,一些公司甚至推出了安全主控,這是很好的現(xiàn)象,說明大家越來越重視嵌入式領(lǐng)域的信息安全和程序安全了。但對于很多特殊行業(yè),比如消費(fèi)類電子產(chǎn)品,低成本的通訊模塊、電源控制模塊等等,迫于成本壓力以及更新?lián)Q代速度問題,都無法使用更安全的主控MCU,有很大一部分產(chǎn)品甚至還在使用51單片機(jī)。
大家可能都知道破解51單片機(jī)是很容易的,但為什么容易,又是如何來破解的,可能很多人就不大清楚了,我在這里結(jié)合網(wǎng)上一些前輩整理的資料,和自己的經(jīng)驗(yàn),對MCU破解技術(shù)做個(gè)簡單分析。
大家不要把解密想的很復(fù)雜,他不像研發(fā)一款產(chǎn)品那樣,先確定客戶需求或者新產(chǎn)品主要功能,然后立項(xiàng)確定技術(shù)指標(biāo),分配軟硬件開發(fā)任務(wù),基于硬件調(diào)試程序,然后驗(yàn)證功能,測試bug,還要做環(huán)境試驗(yàn)。行業(yè)里解密的方法有很多,每個(gè)人破解的思路也不一樣。但是大致分為幾種。
1軟件破解
利用軟件破解目標(biāo)單片機(jī)的方法,利用這種方法,不會對目標(biāo)MCU元器件造成物理損傷。主要是對WINBONGD,SYNCMOS單片機(jī)和GAL門陣列,這種利用軟件解密設(shè)備,按照一定的步驟操作,執(zhí)行片內(nèi)的程序送到片外的指令,然后用解密的設(shè)備進(jìn)行截獲,這樣芯片內(nèi)部的程序就被解密完成了(GAL采用邏輯猜測),就可以得到加密單片機(jī)中的程序。
2硬件破解
流程如下:
1、測試
使用編程器等設(shè)備測試芯片是否正常,并把配置字保存。
2、開蓋
采用手工或?qū)S瞄_蓋設(shè)備進(jìn)行開蓋處理,這里說的開蓋并不是說單片機(jī)或者其他MCU真有一個(gè)蓋。簡單解釋一下,MCU其實(shí)是一個(gè)大規(guī)模集成電路,它是由N個(gè)電路組合而成的,而晶圓就是搭載集成電路的載體。將晶圓進(jìn)行封裝后,就形成了我們?nèi)粘K玫腎C芯片,封裝形式可以有多種,比如TSSOP28、QFN28等,大家可以自己去百度搜索,這里不再復(fù)述。
3、做電路修改
對不同芯片,提供對應(yīng)的圖紙,讓廠家做電路修改,目的是讓MCU的存儲區(qū)變得可讀。有些MCU默認(rèn)不允許讀出Flash或者E2PROM中的數(shù)據(jù),因?yàn)橛杏布娐纷霰Wo(hù),而一旦切斷加密連線,程序就暴露可讀了。如圖2所示
?。ㄇ懈畹艏用苋劢z,這樣就可以直接讀出芯片內(nèi)部程序)
4、讀程序
取回修改過的MCU,直接用編程器讀出程序,可以是HEX文件,或者BIN文件。
5、燒寫樣片給客戶
按照讀出的程序和配置,燒寫到目標(biāo)MCU中,這樣就完成了MCU的破解。至此,硬件破解法成功完成。
3軟硬兼施
采用軟件和硬件結(jié)合的方法,需要對芯片的內(nèi)部結(jié)構(gòu)非常的熟悉。
另外還有其他一些破解技術(shù),例如電子探測攻擊、過錯(cuò)產(chǎn)生技術(shù)等等,但是終目的只有一個(gè),就是能夠模仿出目標(biāo)MCU的功能就可以了。
看到這里大家應(yīng)該明白一個(gè)道理,破解MCU并不能做到把MCU中的程序原封不動的還原出來。目前的技術(shù)也做不到,至少國內(nèi)應(yīng)該做不到。針對以上情況,加密芯片應(yīng)運(yùn)而生,初期確實(shí)能很好的保護(hù)MCU的安全,但很快就被找到了漏洞。
我舉個(gè)實(shí)際破解的例子分析一下,大家就能夠明白了。
加密原理:
MCU和加密芯片各存儲一條秘鑰,存儲同樣的加密算法;MCU產(chǎn)生隨機(jī)數(shù)發(fā)給加密芯片,后者用秘鑰加密后將密文返回,此時(shí)MCU解密后,比對明文是否和生成的隨機(jī)數(shù)相等。如果相等,程序正常運(yùn)行;如果不相等,出錯(cuò)處理。
因?yàn)楸I版商沒有這條秘鑰,加密芯片與MCU交互的數(shù)據(jù)又是隨機(jī)變化的,無法找到規(guī)律,所以只能把加密芯片的程序破解了,再復(fù)制一片加密芯片才能讓MCU的程序跑起來。而加密芯片不同于通用MCU,它內(nèi)部有很多安全機(jī)制,破解難度非常大。
這種加密方案看似非常安全,但其實(shí)還是有漏洞的。
破解方法:
首先按照第二種破解方法,獲取到MCU的HEX文件。此處省略N步,不再復(fù)述。
使用軟件進(jìn)行HEX反編譯,反編譯軟件目前有很多。
在反編譯的程序中,找到對比點(diǎn),比如圖3所示,CJNE語句可能就是這個(gè)對比點(diǎn)。因此只要把箭頭2那行語句刪除,然后重新把匯編語言到MCU中,破解工作就完成了。此時(shí)即使沒有加密芯片,MCU也能正常運(yùn)行了。
其實(shí)原因很簡單。MCU是要對加密芯片的返回值進(jìn)行判斷的,那么不讓他做判斷,這樣一來不管加密芯片返回值是什么,程序都能正常運(yùn)行。
因此這種加密方案很快就被破解了。當(dāng)然也不是這么,因?yàn)橛行㎝CU即使剖片也不能獲得里面的HEX或者BIN文件,所以這種破解方案也要看MCU的安全等級夠不夠高。但是足以說明一個(gè)問題,這種通過對比加密結(jié)果來實(shí)現(xiàn)加密的方案,安全等級還是不夠高,還是有破解漏洞的。
因?yàn)槠邢?,本期只做解密技術(shù)的簡單介紹。所謂知己知彼,百戰(zhàn)百勝,唯有了解了破解技術(shù),才能更有效的做加密防護(hù)。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級DSP信號處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









