欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: STM32單片機(jī)利用唯一ID加密代碼的量產(chǎn)方案思路 [打印本頁]

作者: hxdby    時(shí)間: 2023-6-6 19:57
標(biāo)題: STM32單片機(jī)利用唯一ID加密代碼的量產(chǎn)方案思路
大家好,

看到網(wǎng)上很多利用唯一ID加密代碼的方案,大部分都是要先知道芯片的ID,然后在代碼中與讀出的ID對(duì)比,如果一致就往下執(zhí)行,不一致則不執(zhí)行。
如果是單個(gè)芯片自己玩玩還可以,如果涉及到大批量量產(chǎn),比如有1萬片需要生產(chǎn),我不可能提前去讀出每一片的ID吧,工作量太大了。

有沒有一種方法,可以通過軟件實(shí)現(xiàn),量產(chǎn)時(shí)直接燒錄代碼就行了,然后由代碼去自動(dòng)完成內(nèi)部ID的讀取和比對(duì),并且可以實(shí)現(xiàn)被人復(fù)制代碼到其他芯片上無法使用的方案?

希望大神提供思路。

提前感謝

作者: wufa1986    時(shí)間: 2023-6-7 09:39
在燒錄文件中沒有使用的區(qū)域加入一個(gè)密碼,第一次開機(jī)讀取正確密碼,讀取ID重新加密數(shù)組保存,然后清除密碼以后只能讀ID和加密數(shù)組對(duì)比,不正確就不執(zhí)行,不要直接用ID比對(duì),不加密作用不大
作者: yzwzfyz    時(shí)間: 2023-6-7 10:50
將合法的ID做個(gè)結(jié)合A,將結(jié)合告知STM32單片機(jī)。這是唯一的方式!
你只能在【A如何做?如何告知于STM32單片機(jī)】上想辦法。不要有其它幻想,不會(huì)出奇跡的。
通常的做法,不用ID碼!改用EPC碼!
道理很簡單,ID不可改動(dòng),也即A是既定的,STM32沒有機(jī)動(dòng)權(quán)!
而EPC是可能改動(dòng)的,只要EPC碼符合某種約定就可以達(dá)成樓主的目的。至于如何約定涉及機(jī)密,需要技術(shù)咨詢。

作者: wpppmlah    時(shí)間: 2023-6-7 10:59
wufa1986 發(fā)表于 2023-6-7 09:39
在燒錄文件中沒有使用的區(qū)域加入一個(gè)密碼,第一次開機(jī)讀取正確密碼,讀取ID重新加密數(shù)組保存,然后清除密碼 ...

這個(gè)燒錄文件,,,隨便用,,,,沒有意義。
作者: yovh    時(shí)間: 2023-6-7 11:35
wpppmlah 發(fā)表于 2023-6-7 10:59
這個(gè)燒錄文件,,,隨便用,,,,沒有意義。

那這一段可以留著它,還是去掉啊哥

作者: wpppmlah    時(shí)間: 2023-6-7 13:42
燒錄器讀取芯片ID,計(jì)算出密碼,存儲(chǔ)到固件一個(gè)特定的區(qū)。再燒錄。這樣燒錄器是關(guān)鍵。。。有這樣的燒錄器嗎,肯定有的。
作者: Hephaestus    時(shí)間: 2023-6-7 23:08
如果你能控制燒錄時(shí)代碼不會(huì)被泄露,那么沙發(fā)的辦法是最理想的。
作者: wufa1986    時(shí)間: 2023-6-8 08:19
wpppmlah 發(fā)表于 2023-6-7 10:59
這個(gè)燒錄文件,,,隨便用,,,,沒有意義。

那你想燒錄的人都沒權(quán)限,那只能從其他方面下手了,反正道理都是一樣的,就是要有一個(gè)步驟激活讀取ID的程序,這個(gè)東西可以在燒錄時(shí)加入標(biāo)記,可以按鍵輸入密碼,可以U盤激活,可以無線激活,甚至聯(lián)網(wǎng)激活,這些原理都是一樣的
作者: MCU_FANS    時(shí)間: 2023-6-8 10:07
成熟的批量燒錄器是有UID加密功能的。通常它要填這幾個(gè)參數(shù):
1. 存放加密值地址,暫時(shí)把這個(gè)地址叫做Addr;
2. 加密的一個(gè)系數(shù),暫時(shí)把它叫做Val;
3. UID的排列號(hào)。通常UID是12個(gè)字節(jié),將這個(gè)原生的12個(gè)字節(jié)進(jìn)行打亂,得到一個(gè)新的d_UID;
4. 公式號(hào),燒錄器提供有幾百種公式。它就是將:Val,d_UID(UID經(jīng)過自定義打亂)帶入然后算出加密值X,最后燒錄器再Addr;

程序的操作:
1. 讀出UID,按照自己的定義打亂UID,得到d_UID;
2. 自己定義一個(gè)常數(shù)Val;
3. 選一個(gè)燒錄器廠家提供的公式(要記住公式號(hào)),然后將d_UID和Val帶入,得出加密值Y;
4. 讀取燒錄器設(shè)置的存加密值X的地址Addr的值,對(duì)比加密值X和自己算出來的加密值Y是否相等,如果相等,就執(zhí)行程序,如果不相等就直接while(1);

這種加密方式要破解,太難還是挺大的。

作者: MCU_FANS    時(shí)間: 2023-6-8 10:12
wpppmlah 發(fā)表于 2023-6-7 13:42
燒錄器讀取芯片ID,計(jì)算出密碼,存儲(chǔ)到固件一個(gè)特定的區(qū)。再燒錄。這樣燒錄器是關(guān)鍵。。。有這樣的燒錄器嗎 ...

你說的就是正解!有這個(gè)功能的燒錄器。
作者: zyftank    時(shí)間: 2023-12-15 10:09
一種思路,定義個(gè)static const 變量,比如值為0xffeeaaCC,燒錄后第一次運(yùn)行,初始化的時(shí)候進(jìn)行這個(gè)值的判斷,如果是這個(gè)值,那么讀取芯片ID并加密,通過修改flash區(qū)域?qū)⑦@個(gè)值改為ID加密后的數(shù)據(jù)。

后面運(yùn)行的時(shí)候,初始化的時(shí)候?qū)@個(gè)值進(jìn)行判斷,是否是芯片ID加密后的數(shù)據(jù),如果不是清空FLASH區(qū)域,或者進(jìn)行其他操作。
作者: Hephaestus    時(shí)間: 2023-12-15 14:17
MCU_FANS 發(fā)表于 2023-6-8 10:07
成熟的批量燒錄器是有UID加密功能的。通常它要填這幾個(gè)參數(shù):
1. 存放加密值地址,暫時(shí)把這個(gè)地址叫做Addr ...

你這辦法跟沙發(fā)的說法沒有任何不同之處。關(guān)鍵是燒錄器無法讀UID并修改燒寫文件那么只能用沙發(fā)的辦法。
作者: yanyubo    時(shí)間: 2024-2-16 18:11
請(qǐng)問你后面怎么做到
作者: 哦豁~    時(shí)間: 2024-2-18 16:07
Hephaestus 發(fā)表于 2023-12-15 14:17
你這辦法跟沙發(fā)的說法沒有任何不同之處。關(guān)鍵是燒錄器無法讀UID并修改燒寫文件那么只能用沙發(fā)的辦法。

比如創(chuàng)芯工坊、軒微這種專門做第三方燒錄器的,都有這個(gè)功能,用了好多年了。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1