為了防止大家的程序不被剽竊,本文給大家分享單片機加密的方法。
另外關(guān)于解密的方法可以參考這篇文章如何解密單片機內(nèi)程序?
常見加密方法
程序?qū)懕Wo
這種方法是最常見,也是最簡單的一種?,F(xiàn)在的MUC基本都有寫保護功能,但是這種容易被人破解。
燒斷數(shù)據(jù)總線
這個方法聽起來不錯,但有損壞的風(fēng)險,同樣也能破解。
軟件加密
是一些防止別人讀懂程序的方法,單一的這種方法不能防止別人全盤復(fù)制,須配合其他的加密算法。
添加外部硬件電路的加密方法
這個方法效果看起來比較好,但會增加成本。
芯片打磨改型
這個方法改了型號能誤導(dǎo),但同時也增加成本,解密者一般也能分析出來。
通過通過聯(lián)網(wǎng)加序列號加密
通過連接網(wǎng)絡(luò),在你的MCU中生成一個唯一的隨機長序列號,并加入復(fù)雜的特種算法,或加入你們重新編碼的企業(yè)信息在里面,每個芯片內(nèi)不同,復(fù)制者只能復(fù)制到一個序列號。
通過MCU唯一的標(biāo)識加密
以前很多MCU沒有唯一標(biāo)識碼,現(xiàn)在的很多MCU都具有唯一標(biāo)識碼了。
這個方法比較好,簡單省事,能很好的防止復(fù)制。
讀保護 + 唯一ID加密
使用讀保護 + 唯一ID的加密是最常用的一種方法,也是推薦大家使用的一種方法。
唯一ID 現(xiàn)在正規(guī)的芯片,每顆出廠的時候都帶了一個唯一標(biāo)識碼,這個號碼是唯一不重復(fù)的,比如STM32的就使用96位作為唯一ID。 和我們每個人的身份證號碼一樣,現(xiàn)在剛出生的嬰兒,上戶的時候就給他一個身份證號,那么每個芯片一生產(chǎn)出來,也就具備了這個身份證號。
加密原理 讀保護就不用說了,增加被破解難度。 使用唯一ID加密的方法很多,這里說一種簡單的方法:出廠時程序讀取唯一ID并保存在一個位置,以后程序執(zhí)行之前,要讀取并匹配這個唯一ID,一致才執(zhí)行程序。 當(dāng)然,這種方法是最基礎(chǔ)的原理,但也存在被破解的風(fēng)險。
所以,存儲的數(shù)據(jù),以及讀取驗證這兩個地方需要進一步添加一些算法。 這樣操作之后,即使別人讀取了你的程序,也是無法正常執(zhí)行。
編輯:jq
-
單片機
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670417 -
mcu
+關(guān)注
關(guān)注
147文章
18925瀏覽量
398260 -
STM32
+關(guān)注
關(guān)注
2309文章
11162瀏覽量
373471
原文標(biāo)題:STM32等單片機程序加密的方法
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
小白也能聽懂的單片機知識路徑
單片機里的程序運行方式
學(xué)習(xí)單片機快速方法
單片機系統(tǒng)設(shè)計方法
單片機解密是什么?
單片機燒錄原理是怎樣的?輝芒微單片機燒錄程序詳細步驟講解
怎么測單片機系統(tǒng)頻率
單片機怎么燒程序
使用USB轉(zhuǎn)TTL串口板和ST-LINK調(diào)試下載器給STM32單片機下載程序
單片機原理及應(yīng)用
STM32F103x8 STM32F103xB單片機數(shù)據(jù)手冊
STM32單片機最小系統(tǒng)電路設(shè)計
STM32等單片機程序加密有哪些方法
評論