為了防止大家的程序不被剽竊,本文給大家分享單片機加密的方法。
另外關于解密的方法可以參考這篇文章如何解密單片機內程序?
常見加密方法
程序寫保護
這種方法是最常見,也是最簡單的一種。現在的MUC基本都有寫保護功能,但是這種容易被人破解。
燒斷數據總線
這個方法聽起來不錯,但有損壞的風險,同樣也能破解。
軟件加密
是一些防止別人讀懂程序的方法,單一的這種方法不能防止別人全盤復制,須配合其他的加密算法。
添加外部硬件電路的加密方法
這個方法效果看起來比較好,但會增加成本。
芯片打磨改型
這個方法改了型號能誤導,但同時也增加成本,解密者一般也能分析出來。
通過通過聯網加序列號加密
通過連接網絡,在你的MCU中生成一個唯一的隨機長序列號,并加入復雜的特種算法,或加入你們重新編碼的企業信息在里面,每個芯片內不同,復制者只能復制到一個序列號。
通過MCU唯一的標識加密
以前很多MCU沒有唯一標識碼,現在的很多MCU都具有唯一標識碼了。
這個方法比較好,簡單省事,能很好的防止復制。
讀保護 + 唯一ID加密
使用讀保護 + 唯一ID的加密是最常用的一種方法,也是推薦大家使用的一種方法。
唯一ID 現在正規的芯片,每顆出廠的時候都帶了一個唯一標識碼,這個號碼是唯一不重復的,比如STM32的就使用96位作為唯一ID。 和我們每個人的身份證號碼一樣,現在剛出生的嬰兒,上戶的時候就給他一個身份證號,那么每個芯片一生產出來,也就具備了這個身份證號。
加密原理 讀保護就不用說了,增加被破解難度。 使用唯一ID加密的方法很多,這里說一種簡單的方法:出廠時程序讀取唯一ID并保存在一個位置,以后程序執行之前,要讀取并匹配這個唯一ID,一致才執行程序。 當然,這種方法是最基礎的原理,但也存在被破解的風險。
所以,存儲的數據,以及讀取驗證這兩個地方需要進一步添加一些算法。 這樣操作之后,即使別人讀取了你的程序,也是無法正常執行。
編輯:jq
-
單片機
+關注
關注
6043文章
44621瀏覽量
638623 -
mcu
+關注
關注
146文章
17324瀏覽量
352661 -
STM32
+關注
關注
2272文章
10924瀏覽量
357601
原文標題:STM32等單片機程序加密的方法
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
單片機編程語言有哪些選擇
單片機怎么寫入程序
單片機STM32可以用Python寫嗎?可以的開發板有哪些?
![<b class='flag-5'>單片機</b><b class='flag-5'>STM32</b>可以用Python寫嗎?可以的開發板<b class='flag-5'>有</b>哪些?](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
keil可以讀出單片機的程序嗎
stm32單片機用什么軟件編程
單片機燒錄程序可以重新燒嗎
單片機燒錄程序的線比單片機上的少還能燒錄嗎
單片機燒錄程序的基本步驟是什么
stm32單片機引腳介紹及功能
stm32和51單片機的區別是什么
stm32單片機的優勢有哪些?
STM32單片機最小化系統設計原理
![<b class='flag-5'>STM32</b><b class='flag-5'>單片機</b>最小化系統設計原理](https://file1.elecfans.com/web2/M00/D7/37/wKgaomYnW52AF_HPAAA3igTwXnU901.png)
評論