標(biāo)題: 32位單片機(jī),固件有沒有加密和限制燒錄次數(shù)的辦法 [打印本頁]
作者: pdwdzz 時間: 2023-9-8 15:32
標(biāo)題: 32位單片機(jī),固件有沒有加密和限制燒錄次數(shù)的辦法
客戶離的遠(yuǎn),上門調(diào)試不方便,客戶希望自己調(diào)試。固件要給到客戶,有沒有什么限制客戶使用這個固件燒錄次數(shù)的辦法。
加密應(yīng)該需要做個定制的軟件,我們這邊用軟件對固件進(jìn)行加密,發(fā)給客戶,客戶那邊導(dǎo)入軟件后自動解密,解密后內(nèi)容對客戶不可見。
但是限制燒錄次數(shù)怎么弄呢,是不是還得定制個燒錄器。。。
作者: yzwzfyz 時間: 2023-9-8 17:05
只要是軟件給到客戶,保密方式就不必了。
即使用你的想法實(shí)現(xiàn)了。
客戶也可以用其它硬件做。
作者: cnfloatleaf 時間: 2023-9-8 21:48
如果是STC單片機(jī),可以用發(fā)布下載程序(加ID號),這樣每次的升級程序,只能給對應(yīng)序列號的MCU下載升級。
-
111.png
(55.07 KB, 下載次數(shù): 71)
下載附件
2023-9-8 21:48 上傳
作者: Longan.Wang 時間: 2023-9-12 15:23
想法不錯,希望能看到最終解決方法!頂!!!!!!!
作者: zhuls 時間: 2023-9-12 15:54
你這個方法很難實(shí)現(xiàn),
這幾個是比較常用的做法:
1、做一個調(diào)試軟件,可以調(diào)整固件運(yùn)行時的主要參數(shù)、指標(biāo)==,然后把這些值返回方案商,再固化到新的固件中,下載到芯片,再寄到客戶手中替換舊芯片。。如果換芯片有困難,只能寄機(jī)器回來更換。
2、要不就是用硬件ID的方法,一一對應(yīng)升級固件。----你要記錄每一個售出的芯片ID
3、還有就是做一個臨時的下載器,設(shè)好下載次數(shù)寄給客戶。----如果有心,讀下載口的數(shù)據(jù),固件一樣會漏出。
但貌似都不是好方法。最好的方法是能寄機(jī)器回來。
作者: 1600277881 時間: 2023-9-12 16:28
做個解密+IAP的固件,第一次給的芯片是燒錄好后通過快遞給客人的, 之后就可以通過網(wǎng)絡(luò)把加密了的更新代碼發(fā)給客人更新。
作者: hange_v 時間: 2023-9-12 18:09
正解,BOOT部分負(fù)責(zé)解密,用戶拿不到BOOT程序只拿到加密的APP部分沒用。
作者: pdwdzz 時間: 2023-9-17 23:37
因?yàn)椴簧瞄L做PC軟件,最終還是用bin文件加密的方式加自制燒錄器的方式解決。可以電腦簡單的寫個bin
文件加密算法,讓后編譯生成后調(diào)用。加密的bin文件包含燒錄次數(shù)限制信息,燒錄器做成可以虛擬u盤,客戶直接拖進(jìn)我給的加密文件進(jìn)行燒錄就行。
作者: 123156fsadf 時間: 2023-9-18 08:43
我目前就是這么實(shí)現(xiàn)的,可單獨(dú)設(shè)定設(shè)備可更新的版本,方便管理
作者: yuxuesuixing 時間: 2023-9-18 09:28
有人回答對了,但是不全面。bootloder負(fù)責(zé)控制燒錄次數(shù)和固件檢查 ,但是假如我寫一個讀取你bootloder文件并發(fā)送到串口的代碼閣下將如何應(yīng)對呢? 所以bootloder里面要有基本環(huán)境驗(yàn)證和代碼驗(yàn)證。 基本流程大致如下 1.bootloder首先檢查自身代碼完整性,比如在代碼預(yù)留一個位置存儲代碼的crc,寫好之后計(jì)算crc之后進(jìn)行對比 2.固件寫入,通信時將固件解包,并寫入到產(chǎn)品中,但此時并不運(yùn)行 3.固件驗(yàn)證,對固件完整性進(jìn)行檢查 4.惡意代碼檢查,對于MOVC指令重點(diǎn)檢查,防止其越界工作 5 固件運(yùn)行 注意,我這里僅僅簡單提到了而已,并沒有詳細(xì)說,每一個步驟的代碼和思考量并不少
作者: hjx5548 時間: 2023-9-18 21:58
九齊單片機(jī)可以限制次數(shù)
作者: STC新未來 時間: 2023-9-19 09:52
程序加密后傳輸 + 發(fā)布項(xiàng)目程序 + USB直接下載:遠(yuǎn)程升級
===讓你的客人在遠(yuǎn)方自己升級更新程序,而拿不到你的源程序,達(dá)到控制次數(shù)的目
1.png (9.73 KB, 下載次數(shù): 32)
下載附件
1
2023-9-19 09:42 上傳
2.png (76.7 KB, 下載次數(shù): 36)
下載附件
2
2023-9-19 09:42 上傳
5.3.2 程序加密后傳輸(防燒錄時串口被監(jiān)控被分析出程序)
目前,所有的普通串口下載燒錄編程或升級程序都是采用明碼通信的(電腦和目標(biāo)芯片通信時,或脫機(jī)下載板和目標(biāo)芯片通信時),
問題:如果燒錄環(huán)節(jié)燒錄人員/或買通燒錄人員的第三方通過分析下載燒錄編程時串口通信的數(shù)據(jù),高手是可以在燒錄時在串口
上引2根線出來,通過分析串口通信的數(shù)據(jù)分析出實(shí)際的用戶程序原始的目標(biāo)代碼的。
當(dāng)然用STC的脫機(jī)下載板燒程序總比用電腦燒錄程序強(qiáng) !防止燒錄人員將程序輕易從電腦盜走,如通過網(wǎng)絡(luò)發(fā)走,如通過U盤烤走,
防不勝防,當(dāng)然盜走你的電腦那就沒辦法那 !所以STC的脫機(jī)下載工具比電腦燒錄安全,讓前臺文員燒錄,讓司機(jī)保安燒錄都可以。
即使是STC全球首創(chuàng)的脫機(jī)下載工具,要防止【不法分子在脫機(jī)燒錄的過程中,通過分析串口通信數(shù)據(jù)獲得實(shí)際的用戶程序目標(biāo)代碼】,
也是沒有辦法達(dá)到要求的,這就需要用到最新的 STC8/STC32 系列單片機(jī)所提供的程序加密后傳輸下載功能。
程序加密后傳輸下載是:用戶先通過新版STC-ISP V6.91Q或以上的STC-ISP軟件幫你自己自動生成一套你的專用加密密鑰對你的程序
進(jìn)行加密,然后將加密后的代碼再通過串口下載,此時下載傳輸?shù)氖羌用芪募ㄟ^串口分析出來的是加密后的亂碼,如不通過派人潛
入你公司盜竊你電腦里面的加密密鑰,就無任何價(jià)值,便可起到防止在燒錄程序時被燒錄人員或你要防范的第三方買通你的燒錄人員,
在燒錄時通過 監(jiān)測 [P3.0,P3.1] 串口分析出目標(biāo)代碼的途徑。
程序加密后傳輸功能的使用需要如下的幾個步驟:
1、生成并保存新的密鑰
如下圖,進(jìn)入到“程序加密后傳輸”頁面,點(diǎn)擊“生成新密鑰”按鈕,即可在緩沖區(qū)顯示新生成的256字節(jié)的密鑰。然后點(diǎn)擊
“保存密鑰”按鈕,即可將生成的新密鑰保存為以“.K”為擴(kuò)展名的的密鑰文件(注意:這個密鑰文件一定要保存好,以后
發(fā)布的代碼文件都需要使用這個密鑰加密,而且這個密鑰的生成是非重復(fù)的,即任何時候都不可能生成兩個完全相同的密鑰,
所以一旦密鑰文件丟失將無法重新獲得)。例如我們將密鑰保存為“New.k”。
3.png (816.68 KB, 下載次數(shù): 34)
下載附件
3
2023-9-19 09:43 上傳
2、對代碼文件加密
加密文件前,需要先打開我們自己的密鑰。若緩沖區(qū)中存放的已經(jīng)是我們的密鑰,則不要再打開。如下圖,在“程序加密后傳輸”
頁面中點(diǎn)擊“打開密鑰”按鈕,打開我們之前保存的密鑰文件,例如“New.k”,然后返回到“程序加密后傳輸”頁面中點(diǎn)擊“加密代碼”
按鈕,如下圖所示,首先會彈出“打開源文件(未加密)”的對話框,此時選擇的是原始的未加密的代碼文件
4.png (837.12 KB, 下載次數(shù): 39)
下載附件
4
2023-9-19 09:43 上傳
點(diǎn)擊打開按鈕后,馬上有會彈出一個類似的對話框,但此時是對加密后的文件進(jìn)行保存的對話框。
如下圖所示,點(diǎn)擊保存按鈕即可保存加密后的文件。
5.png (620.11 KB, 下載次數(shù): 25)
下載附件
5
2023-9-19 09:44 上傳
6.png (594.85 KB, 下載次數(shù): 33)
下載附件
6
2023-9-19 09:45 上傳
3、將用戶密鑰更新到目標(biāo)芯片中
更新密鑰前,需要先打開我們自己的密鑰。若緩沖區(qū)中存放的已經(jīng)是我們的密鑰,則不要再打開。如下圖,
在“自定義加密下載”頁面中點(diǎn)擊“打開密鑰”按鈕,打開我們之前保存的密鑰文件,例如“New.k”。密鑰打
開后,如下圖所示,勾選上“下載用戶代碼前先更新用戶密鑰”選項(xiàng)和“本次下載的代碼為加密代碼”的選項(xiàng),
然后打開我們之前加密過后的文件,打開后點(diǎn)擊界面左下角的“下載/編程”按鈕,按正常方式對目標(biāo)芯片
下載完成即可更新用戶密鑰。
7.png (889.31 KB, 下載次數(shù): 25)
下載附件
7
2023-9-19 09:45 上傳
4、加密更新用戶代碼
密鑰更新成功后,目標(biāo)芯片便具有接收加密代碼并還原的功能。此時若需要再次升級/更新代碼,則只需要
參考第二步的方法,將目標(biāo)代碼進(jìn)行加密,然后如下圖
8.png (904.36 KB, 下載次數(shù): 25)
下載附件
8
2023-9-19 09:46 上傳
對于一片新的STC單片機(jī),可將步驟3和步驟4合并完成,即將密鑰更新到目標(biāo)單片機(jī)的同時也可將加密后的代碼
一并下載到單片機(jī)中,若已經(jīng)執(zhí)行過步驟3(即已經(jīng)將密鑰更新到目標(biāo)芯片中了),則后續(xù)的代碼更新就只需要
按照步驟4,只需要在“程序加密后傳輸”頁面中選擇“本次下載的代碼為加密代碼”的選項(xiàng)(“下載用戶代碼前先更新
用戶密鑰”選項(xiàng)不需要選了),然后打開我們之前加過密后的文件,打開后點(diǎn)擊界面左下角的“下載/編程”按鈕,
按正常方式對目標(biāo)芯片下載即可完成用用戶自己專用的加密文件更新用戶代碼的目的
(防止在燒錄程序時被燒錄人員通過監(jiān)測串口分析出代碼的目的)。
5.3.1 發(fā)布項(xiàng)目程序
發(fā)布項(xiàng)目程序功能主要是將用戶的程序代碼與相關(guān)的選項(xiàng)設(shè)置打包成為一個可以直接對目標(biāo)芯片進(jìn)行下載編程的用戶自己界面的超級簡單的可執(zhí)行文件。
關(guān)于界面,用戶可以自己進(jìn)行定制(用戶可以自行修改發(fā)布項(xiàng)目程序的標(biāo)題、按鈕名稱以及幫助信息),同時用戶還可以指定目標(biāo)電腦的硬盤號和目標(biāo)
芯片的ID號,指定目標(biāo)電腦的硬盤號后,便可以控制發(fā)布應(yīng)用程序只能在指定的電腦上運(yùn)行(防止燒錄人員將程序輕易從電腦盜走,如通過網(wǎng)絡(luò)發(fā)走,如
通過U盤烤走,防不勝防,當(dāng)然盜走你的電腦那就沒辦法那,所以STC的脫機(jī)下載工具比電腦燒錄安全,能限制可燒錄芯片數(shù)量,讓前臺文員燒,讓老板娘
燒都可以),拷貝到其它電腦,應(yīng)用程序不能運(yùn)行。同樣的,當(dāng)指定了目標(biāo)芯片的ID號后,那么用戶代碼只能下載到具有相應(yīng)ID號的目標(biāo)芯片中
(對于一臺設(shè)備要賣幾千萬的產(chǎn)品特別有用---坦克,可以發(fā)給客戶自己升級,不需冒著生命危險(xiǎn)跑到戰(zhàn)火紛飛的伊拉克升級軟件啦),對于ID號不一致的
其它芯片,不能進(jìn)行下載編程。
發(fā)布項(xiàng)目程序詳細(xì)的操作步驟如下:
1、首先選擇目標(biāo)芯片的型號
2、打開程序代碼文件
3、設(shè)置好相應(yīng)的硬件選項(xiàng)
9.png (857.63 KB, 下載次數(shù): 31)
下載附件
9
2023-9-19 09:48 上傳
4、試燒一下芯片,并記下目標(biāo)芯片的ID號,如下圖所示,該芯片的ID號即為“F784C000001364”
(如不需要對目標(biāo)芯片的ID號進(jìn)行校驗(yàn),可跳過此步)
10.png (789.41 KB, 下載次數(shù): 37)
下載附件
10
2023-9-19 09:48 上傳
5、設(shè)置自動增量(如不需要自動增量,可跳過此步
11.png (774.94 KB, 下載次數(shù): 32)
下載附件
11
2023-9-19 09:49 上傳
6、設(shè)置RS485控制信息(如不需要RS485控制,可跳過此步)
12.png (757.83 KB, 下載次數(shù): 32)
下載附件
12
2023-9-19 09:49 上傳
7、點(diǎn)擊界面上的“讀取本機(jī)硬盤號”按鈕,并記下目標(biāo)電腦的硬盤號
(如不需要對目標(biāo)電腦的硬盤號進(jìn)行校驗(yàn),可跳過此步)
13.png (690.78 KB, 下載次數(shù): 36)
下載附件
13
2023-9-19 09:50 上傳
8、點(diǎn)擊“發(fā)布項(xiàng)目程序”按鈕,進(jìn)入發(fā)布應(yīng)用程序的設(shè)置界面。
9、根據(jù)各自的需要,修改發(fā)布軟件的標(biāo)題、下載按鈕的名稱、重復(fù)下載按鈕的名稱、自動增量的名稱以及幫助信息
10、若需要校驗(yàn)?zāi)繕?biāo)電腦的硬盤號,則需要勾選上“校驗(yàn)硬盤號”,并在后面的文本框內(nèi)輸入前面所記下的目標(biāo)電腦的硬盤號
11、若需要校驗(yàn)?zāi)繕?biāo)芯片的ID號,則需要勾選上“校驗(yàn)芯片ID號”,并在后面的文本框內(nèi)輸入前面所記下的目標(biāo)芯片的ID號
14.png (714.81 KB, 下載次數(shù): 36)
下載附件
14
2023-9-19 09:51 上傳
12、最后點(diǎn)擊發(fā)布按鈕,將項(xiàng)目發(fā)布程序保存,即可得到相應(yīng)的可執(zhí)行文件。
發(fā)布的項(xiàng)目程序打界面如下圖
15.png (303.95 KB, 下載次數(shù): 29)
下載附件
15
2023-9-19 09:51 上傳
========如下夢幻的效果===================================
16.jpg (13.78 KB, 下載次數(shù): 33)
下載附件
16
2023-9-19 09:52 上傳
作者: 量子工業(yè) 時間: 2023-9-20 18:08
對于內(nèi)行來說,開源的東西,加密是不存在的
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
亚洲无人区一线二线三线
|
一级片黄色
|
国产精品久久久久久久久久久久久久
|
麻豆chinese新婚xxx
|
欧美在线视频一区
|
在线看亚洲
|
99久久九九
|
久久久中文
|
91欧美日韩
|
www四虎|
亚洲男人天堂av
|
男女在线视频
|
国产日韩欧美综合
|
高潮毛片又色又爽免费
|
国产午夜视频在线观看
|
黄色一级大片
|
91精品国自产在线观看
|
久久999
|
欧美色综合网
|
中文在线字幕免费观
|
一级黄视频
|
国产午夜精品一区二区三区嫩草
|
亚洲69视频
|
国产h在线
|
久久久精品国产sm调教网站
|
午夜av片
|
日韩毛片在线观看
|
亚洲精品99
|
www.日韩在线
|
婷婷色在线
|
黑森林av|
成人精品国产
|
草逼视频免费看
|
日本国产视频
|
亚洲三级网站
|
日韩二三区
|
就爱啪啪网
|
成人免费毛片果冻
|
黄色一级免费视频
|
好吊妞这里只有精品
|
哦┅┅快┅┅用力啊┅aps
|