單片機(jī)解密過(guò)程中重要要素
(1)在選定加密芯片前,要充分調(diào)研,了解單片機(jī)破解技術(shù)的新進(jìn)展,包括哪些單片機(jī)是已經(jīng)確認(rèn)可以破解的。盡量不選用已可破解或同系列、同型號(hào)的芯片選擇采用新工藝、新結(jié)構(gòu)、上市時(shí)間較短的單片機(jī),如可以使用ATMEGA88/ATMEGA88V,這種國(guó)內(nèi)目前破解的費(fèi)用一需1要萬(wàn)元左右;其他也可以和CPLD結(jié)合加密,這樣解密費(fèi)用很高,解密一般的CPLD也要1萬(wàn)左右。
本文引用地址:http://2s4d.com/article/172539.htm(2)盡量不要選用MCS51系列單片機(jī),因?yàn)樵搯纹瑱C(jī)在國(guó)內(nèi)的普及程度最高,被研究得也最透。
(3)產(chǎn)品的原創(chuàng)者,一般具有產(chǎn)量大的特點(diǎn),所以可選用比較生僻、偏冷門(mén)的單片機(jī)來(lái)加大仿冒者采購(gòu)的難度,選用一些生僻的單片機(jī),比如motorola單片機(jī),目前國(guó)內(nèi)會(huì)開(kāi)發(fā)使用熟悉motorola單片機(jī)的人很少,所以破解的費(fèi)用也相當(dāng)高,從8000~3萬(wàn)左右。
(4)在設(shè)計(jì)成本許可的條件下,應(yīng)選用具有硬件自毀功能的智能卡芯片,以有效對(duì)付物理攻擊;另外程序設(shè)計(jì)的時(shí)候,加入時(shí)間到計(jì)時(shí)功能,比如使用到1年,自動(dòng)停止所有功能的運(yùn)行,這樣會(huì)增加破解者的成本。
(5)如果條件許可,可采用兩片不同型號(hào)單片機(jī)互為備份,相互驗(yàn)證,從而增加破解成本。
(6)打磨掉芯片型號(hào)等信息或者重新印上其它的型號(hào),以假亂真。
(7)可以利用單片機(jī)未公開(kāi),未被利用的標(biāo)志位或單元,作為軟件標(biāo)志位。
(8)利用MCS-51中A5指令加密,其實(shí)世界上所有資料,包括英文資料都沒(méi)有講這條指令,其實(shí)這是很好的加密指令,A5功能是二字節(jié)空操作指令加密方法在A5后加一個(gè)二字節(jié)或三字節(jié)操作碼,因?yàn)樗蟹磪R編軟件都不會(huì)反匯編A5指令,造成正常程序反匯編亂套,執(zhí)行程序無(wú)問(wèn)題仿制者就不能改變你的源程序。
(9)應(yīng)在程序區(qū)寫(xiě)上你的大名單位開(kāi)發(fā)時(shí)間及仿制必究的說(shuō)法,以備獲得法律保護(hù);另外寫(xiě)上你的大名的時(shí)候,可以是隨機(jī)的,也就是說(shuō),采用某種算法,外部不同條件下,你的名字不同,比如husoon1011、jisppm1012等,這樣比較難反匯編修改。
(10)采用高檔的編程器,燒斷內(nèi)部的部分管腳,具體如何燒斷,可以參考:?jiǎn)纹瑱C(jī)管腳燒斷的方法和破解。
(11)采用保密硅膠(環(huán)氧樹(shù)脂灌封膠)封住整個(gè)電路板,PCB上多一些沒(méi)有用途的焊盤(pán),在硅膠中還可以摻雜一些沒(méi)有用途的元件,同時(shí)把MCU周?chē)娐返碾娮釉M量抹掉型號(hào)。
(12)對(duì)SyncMos,Winbond單片機(jī),將把要燒錄的文件轉(zhuǎn)成HEX文件,這樣燒錄到芯片內(nèi)部的程序空位自動(dòng)添00,如果你習(xí)慣BIN文件,也可以用編程器把空白區(qū)域中的FF改成00,這樣一般解密器也就找不到芯片中的空位,也就無(wú)法執(zhí)行以后的解密操作。
評(píng)論