久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3810|回復: 12
打印 上一主題 下一主題
收起左側

32位單片機,固件有沒有加密和限制燒錄次數的辦法

  [復制鏈接]
跳轉到指定樓層
樓主
客戶離的遠,上門調試不方便,客戶希望自己調試。固件要給到客戶,有沒有什么限制客戶使用這個固件燒錄次數的辦法。

加密應該需要做個定制的軟件,我們這邊用軟件對固件進行加密,發給客戶,客戶那邊導入軟件后自動解密,解密后內容對客戶不可見。

但是限制燒錄次數怎么弄呢,是不是還得定制個燒錄器。。。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:123289 發表于 2023-9-8 17:05 | 只看該作者
只要是軟件給到客戶,保密方式就不必了。
即使用你的想法實現了。
客戶也可以用其它硬件做。
回復

使用道具 舉報

板凳
ID:1085441 發表于 2023-9-8 21:48 | 只看該作者
如果是STC單片機,可以用發布下載程序(加ID號),這樣每次的升級程序,只能給對應序列號的MCU下載升級。

111.png (55.07 KB, 下載次數: 71)

111.png
回復

使用道具 舉報

地板
ID:77589 發表于 2023-9-12 15:23 | 只看該作者
想法不錯,希望能看到最終解決方法!頂!!!!!!!
回復

使用道具 舉報

5#
ID:69038 發表于 2023-9-12 15:54 | 只看該作者
你這個方法很難實現,
這幾個是比較常用的做法:
1、做一個調試軟件,可以調整固件運行時的主要參數、指標==,然后把這些值返回方案商,再固化到新的固件中,下載到芯片,再寄到客戶手中替換舊芯片。。如果換芯片有困難,只能寄機器回來更換。
2、要不就是用硬件ID的方法,一一對應升級固件。----你要記錄每一個售出的芯片ID
3、還有就是做一個臨時的下載器,設好下載次數寄給客戶。----如果有心,讀下載口的數據,固件一樣會漏出。

但貌似都不是好方法。最好的方法是能寄機器回來。
回復

使用道具 舉報

6#
ID:1088185 發表于 2023-9-12 16:28 | 只看該作者
做個解密+IAP的固件,第一次給的芯片是燒錄好后通過快遞給客人的, 之后就可以通過網絡把加密了的更新代碼發給客人更新。
回復

使用道具 舉報

7#
ID:190832 發表于 2023-9-12 18:09 | 只看該作者
1600277881 發表于 2023-9-12 16:28
做個解密+IAP的固件,第一次給的芯片是燒錄好后通過快遞給客人的, 之后就可以通過網絡把加密了的更新代碼 ...

正解,BOOT部分負責解密,用戶拿不到BOOT程序只拿到加密的APP部分沒用。
回復

使用道具 舉報

8#
ID:146878 發表于 2023-9-17 23:37 | 只看該作者
因為不擅長做PC軟件,最終還是用bin文件加密的方式加自制燒錄器的方式解決。可以電腦簡單的寫個bin
文件加密算法,讓后編譯生成后調用。加密的bin文件包含燒錄次數限制信息,燒錄器做成可以虛擬u盤,客戶直接拖進我給的加密文件進行燒錄就行。
回復

使用道具 舉報

9#
ID:744809 發表于 2023-9-18 08:43 | 只看該作者
1600277881 發表于 2023-9-12 16:28
做個解密+IAP的固件,第一次給的芯片是燒錄好后通過快遞給客人的, 之后就可以通過網絡把加密了的更新代碼 ...

我目前就是這么實現的,可單獨設定設備可更新的版本,方便管理
回復

使用道具 舉報

10#
ID:1065084 發表于 2023-9-18 09:28 | 只看該作者
有人回答對了,但是不全面。bootloder負責控制燒錄次數和固件檢查  ,但是假如我寫一個讀取你bootloder文件并發送到串口的代碼閣下將如何應對呢?  所以bootloder里面要有基本環境驗證和代碼驗證。 基本流程大致如下  1.bootloder首先檢查自身代碼完整性,比如在代碼預留一個位置存儲代碼的crc,寫好之后計算crc之后進行對比  2.固件寫入,通信時將固件解包,并寫入到產品中,但此時并不運行  3.固件驗證,對固件完整性進行檢查  4.惡意代碼檢查,對于MOVC指令重點檢查,防止其越界工作  5 固件運行  注意,我這里僅僅簡單提到了而已,并沒有詳細說,每一個步驟的代碼和思考量并不少
回復

使用道具 舉報

11#
ID:72649 發表于 2023-9-18 21:58 來自手機 | 只看該作者
九齊單片機可以限制次數
回復

使用道具 舉報

12#
ID:1085085 發表于 2023-9-19 09:52 | 只看該作者
程序加密后傳輸 + 發布項目程序 + USB直接下載遠程升級
===讓你的客人在遠方自己升級更新程序,而拿不到你的源程序,達到控制次數的目




5.3.2  程序加密后傳輸(防燒錄時串口被監控被分析出程序
目前,所有的普通串口下載燒錄編程或升級程序都是采用明碼通信的(電腦和目標芯片通信時,或脫機下載板和目標芯片通信時),
問題:如果燒錄環節燒錄人員/或買通燒錄人員的第三方通過分析下載燒錄編程時串口通信的數據,高手是可以在燒錄時在串口
上引2根線出來,通過分析串口通信的數據分析出實際的用戶程序原始的目標代碼的。
當然用STC的脫機下載板燒程序總比用電腦燒錄程序強 !防止燒錄人員將程序輕易從電腦盜走,如通過網絡發走,如通過U盤烤走,
防不勝防,當然盜走你的電腦那就沒辦法那 !所以STC的脫機下載工具比電腦燒錄安全,讓前臺文員燒錄,讓司機保安燒錄都可以。

即使是STC全球首創的脫機下載工具要防止【不法分子在脫機燒錄的過程中,通過分析串口通信數據獲得實際的用戶程序目標代碼】
也是沒有辦法達到要求的,這就需要用到最新的 STC8/STC32 系列單片機所提供的程序加密后傳輸下載功能

程序加密后傳輸下載是:用戶先通過新版STC-ISP V6.91Q或以上的STC-ISP軟件幫你自己自動生成一套你的專用加密密鑰對你的程序
進行加密,然后將加密后的代碼再通過串口下載,此時下載傳輸的是加密文件,通過串口分析出來的是加密后的亂碼,如不通過派人潛
入你公司盜竊你電腦里面的加密密鑰,就無任何價值,便可起到防止在燒錄程序時被燒錄人員或你要防范的第三方買通你的燒錄人員,
在燒錄時通過 監測 [P3.0,P3.1] 串口分析出目標代碼的途徑。

程序加密后傳輸功能的使用需要如下的幾個步驟:
1、生成并保存新的密鑰
如下圖,進入到“程序加密后傳輸”頁面,點擊“生成新密鑰”按鈕,即可在緩沖區顯示新生成的256字節的密鑰。然后點擊
“保存密鑰”按鈕,即可將生成的新密鑰保存為以“.K”為擴展名的的密鑰文件(注意:這個密鑰文件一定要保存好,以后
發布的代碼文件都需要使用這個密鑰加密,而且這個密鑰的生成是非重復的,即任何時候都不可能生成兩個完全相同的密鑰,
所以一旦密鑰文件丟失將無法重新獲得)。例如我們將密鑰保存為“New.k”。


2、對代碼文件加密
加密文件前,需要先打開我們自己的密鑰。若緩沖區中存放的已經是我們的密鑰,則不要再打開。如下圖,在“程序加密后傳輸”
頁面中點擊“打開密鑰”按鈕,打開我們之前保存的密鑰文件,例如“New.k”,然后返回到“程序加密后傳輸”頁面中點擊“加密代碼”
按鈕,如下圖所示,首先會彈出“打開源文件(未加密)”的對話框,此時選擇的是原始的未加密的代碼文件

點擊打開按鈕后,馬上有會彈出一個類似的對話框,但此時是對加密后的文件進行保存的對話框。
如下圖所示,點擊保存按鈕即可保存加密后的文件。



3、將用戶密鑰更新到目標芯片中
更新密鑰前,需要先打開我們自己的密鑰。若緩沖區中存放的已經是我們的密鑰,則不要再打開。如下圖,
在“自定義加密下載”頁面中點擊“打開密鑰”按鈕,打開我們之前保存的密鑰文件,例如“New.k”。密鑰打
開后,如下圖所示,勾選上“下載用戶代碼前先更新用戶密鑰”選項和“本次下載的代碼為加密代碼”的選項,
然后打開我們之前加密過后的文件,打開后點擊界面左下角的“下載/編程”按鈕,按正常方式對目標芯片
下載完成即可更新用戶密鑰。


4、加密更新用戶代碼
密鑰更新成功后,目標芯片便具有接收加密代碼并還原的功能。此時若需要再次升級/更新代碼,則只需要
參考第二步的方法,將目標代碼進行加密,然后如下圖

對于一片新的STC單片機,可將步驟3和步驟4合并完成,即將密鑰更新到目標單片機的同時也可將加密后的代碼
一并下載到單片機中,若已經執行過步驟3(即已經將密鑰更新到目標芯片中了),則后續的代碼更新就只需要
按照步驟4,只需要在“程序加密后傳輸”頁面中選擇“本次下載的代碼為加密代碼”的選項(“下載用戶代碼前先更新
用戶密鑰”選項不需要選了),然后打開我們之前加過密后的文件,打開后點擊界面左下角的“下載/編程”按鈕,
按正常方式對目標芯片下載即可完成用用戶自己專用的加密文件更新用戶代碼的目的
(防止在燒錄程序時被燒錄人員通過監測串口分析出代碼的目的)。
5.3.1      發布項目程序
發布項目程序功能主要是將用戶的程序代碼與相關的選項設置打包成為一個可以直接對目標芯片進行下載編程的用戶自己界面的超級簡單的可執行文件
關于界面,用戶可以自己進行定制(用戶可以自行修改發布項目程序的標題、按鈕名稱以及幫助信息),同時用戶還可以指定目標電腦的硬盤號和目標
芯片的ID號,指定目標電腦的硬盤號后,便可以控制發布應用程序只能在指定的電腦上運行(防止燒錄人員將程序輕易從電腦盜走,如通過網絡發走,如
通過U盤烤走,防不勝防,當然盜走你的電腦那就沒辦法那,所以STC的脫機下載工具比電腦燒錄安全,能限制可燒錄芯片數量,讓前臺文員燒,讓老板娘
燒都可以),拷貝到其它電腦,應用程序不能運行。同樣的,當指定了目標芯片的ID號后,那么用戶代碼只能下載到具有相應ID號的目標芯片中
(對于一臺設備要賣幾千萬的產品特別有用---坦克,可以發給客戶自己升級,不需冒著生命危險跑到戰火紛飛的伊拉克升級軟件啦),對于ID號不一致的
其它芯片,不能進行下載編程。
發布項目程序詳細的操作步驟如下:
1、首先選擇目標芯片的型號
2、打開程序代碼文件
3、設置好相應的硬件選項

4、試燒一下芯片,并記下目標芯片的ID號,如下圖所示,該芯片的ID號即為“F784C000001364”
(如不需要對目標芯片的ID號進行校驗,可跳過此步)

5、設置自動增量(如不需要自動增量,可跳過此步

6、設置RS485控制信息(如不需要RS485控制,可跳過此步)

7、點擊界面上的“讀取本機硬盤號”按鈕,并記下目標電腦的硬盤號
(如不需要對目標電腦的硬盤號進行校驗,可跳過此步)

8、點擊“發布項目程序”按鈕,進入發布應用程序的設置界面。
9、根據各自的需要,修改發布軟件的標題、下載按鈕的名稱、重復下載按鈕的名稱、自動增量的名稱以及幫助信息
10、若需要校驗目標電腦的硬盤號,則需要勾選上“校驗硬盤號”,并在后面的文本框內輸入前面所記下的目標電腦的硬盤號
11、若需要校驗目標芯片的ID號,則需要勾選上“校驗芯片ID號”,并在后面的文本框內輸入前面所記下的目標芯片的ID號

12、最后點擊發布按鈕,將項目發布程序保存,即可得到相應的可執行文件。
發布的項目程序打界面如下圖

========如下夢幻的效果===================================


回復

使用道具 舉報

13#
ID:1083996 發表于 2023-9-20 18:08 | 只看該作者
對于內行來說,開源的東西,加密是不存在的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看中文字幕dvd播放 | 国产线视频精品免费观看视频 | 老牛嫩草一区二区三区av | 夜夜爆操| 福利在线看 | 久久av网站 | 成人一区二区在线 | 成人午夜影院 | 国产亚洲精品美女久久久久久久久久 | 国产日韩一区二区三免费高清 | 亚洲人精品 | 精品欧美乱码久久久久久1区2区 | 99久久电影| 亚洲国产看片 | 农夫在线精品视频免费观看 | 一区二区三区四区在线视频 | 国产99免费视频 | 日韩欧美视频网站 | 国产大片一区 | 日日欧美 | 亚洲毛片网站 | 日本高清在线一区 | 亚洲三区在线观看 | 亚洲国产一区视频 | 免费毛片在线 | 国产日韩精品在线 | 日韩中文字幕视频在线 | 黄色在线免费观看 | 国产精品永久免费观看 | 天天av天天好逼 | 精品国产91| 亚洲超碰在线观看 | 国产激情视频 | 亚洲国产成人精 | 久久y| 在线看日韩 | 亚洲视频一区在线 | 午夜小影院 | 国产精品18久久久久久白浆动漫 | 国产69久久精品成人看动漫 | 日韩精品二区 |