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