注:本文是作者以前發(fā)表在其個(gè)人博客,現(xiàn)在發(fā)布到“聚豐開(kāi)發(fā)”專(zhuān)欄
許多公司程序的一開(kāi)始總會(huì)有這樣一段代碼。
const unsigned char version_num[]={......};
大括號(hào)中為產(chǎn)品編號(hào)和程序版本號(hào),產(chǎn)品編號(hào)和程序版本號(hào)都是公司指定的,除了少數(shù)時(shí)候可以通過(guò)外部通訊讀取這個(gè)號(hào)碼外,大多數(shù)時(shí)候只是放在這里,程序并沒(méi)有對(duì)其做任何處理。
大多數(shù)人的理解是這里的產(chǎn)品編號(hào)和程序版本號(hào)應(yīng)該是為了方便公司對(duì)產(chǎn)品進(jìn)行管理,比如現(xiàn)在有同一個(gè)型號(hào)不同版本的產(chǎn)品混在一起,就可以利用其進(jìn)行區(qū)分。實(shí)際上這段代碼的作用不是這樣簡(jiǎn)單,更重要的是對(duì)外起到身份標(biāo)示的作用,當(dāng)出現(xiàn)知識(shí)產(chǎn)權(quán)糾紛的時(shí)候,這段代碼的威力就顯現(xiàn)了出來(lái)。
現(xiàn)在讓我來(lái)給你一個(gè)假設(shè),這個(gè)假設(shè)是針對(duì)單片機(jī)產(chǎn)品:你花了很長(zhǎng)時(shí)間終于開(kāi)發(fā)出一款受市場(chǎng)歡迎的產(chǎn)品,經(jīng)過(guò)產(chǎn)品開(kāi)發(fā)、市場(chǎng)前期推廣,儼然就是花開(kāi)結(jié)果,馬上就是享受回報(bào)的時(shí)候。可此時(shí)殺出一家知名公司推出同樣的產(chǎn)品,一下就把你逼到無(wú)利可圖的地步。你經(jīng)過(guò)仔細(xì)對(duì)比,可以確認(rèn)此知名公司推出的產(chǎn)品用的代碼就是你開(kāi)發(fā)的,因?yàn)楫a(chǎn)品是你開(kāi)發(fā)的,沒(méi)有源代碼外泄的可能。
難道真的這么巧是知名公司開(kāi)發(fā)出了和你一模一樣的產(chǎn)品?這種說(shuō)法只能是哄小孩,一個(gè)產(chǎn)品,多少都有一些只有開(kāi)發(fā)者自己知道的細(xì)節(jié),只有開(kāi)發(fā)者自己才知道這些細(xì)節(jié)的存在,而且這些細(xì)節(jié)是不會(huì)再產(chǎn)品規(guī)格書(shū)上有體現(xiàn)的,就好比是雙胞胎,別人看就是一個(gè)模子出來(lái)的,可父母一眼就能看出許多不同。
現(xiàn)在答案是顯而易見(jiàn)的,是知名公司通過(guò)某種非正常手段得到了你燒到芯片里面的代碼。既然這樣那可以去告知名公司啊,現(xiàn)在一個(gè)問(wèn)題就出現(xiàn)在你面前,你如何證明這個(gè)程序是你寫(xiě)的?也許你會(huì)說(shuō)要證明這個(gè)還不簡(jiǎn)單?我有源代碼啊,知名廠(chǎng)家沒(méi)有。可如果知名廠(chǎng)家說(shuō)他們的源代碼被當(dāng)時(shí)的項(xiàng)目工程師離職時(shí)刪除了,現(xiàn)在在你這里出現(xiàn)了,好哇,告你非法竊取公司商業(yè)機(jī)密。
當(dāng)然,知名公司告你是告不贏(yíng)的,只不過(guò)他們是大公司,不缺小錢(qián),他們可以花一筆錢(qián)請(qǐng)一個(gè)律師把你拖到漫長(zhǎng)的司法訴訟過(guò)程中,知名公司并不希望打贏(yíng)官司,目的只有一個(gè):“拖垮你,讓你覺(jué)得耗不起只好自動(dòng)退出。”
如果你在代碼里面有這樣的一段代碼,恐怕知名公司別再妄想通過(guò)司法過(guò)程的漫長(zhǎng)來(lái)拖垮你,你很容易就能用這段代碼通過(guò)司法鑒定證明程序就是你編寫(xiě)的,一旦證明這個(gè)程序是你的,知名公司就不會(huì)再使用拖字訣,到那個(gè)時(shí)候就只有一條路可供他們選擇,找你和解。
這是我通常在程序中留的個(gè)人簽名,很簡(jiǎn)單,就是我常用的一個(gè)郵箱,哈!當(dāng)然不會(huì)一直都是這個(gè)郵箱啦,會(huì)變來(lái)變?nèi)サ模幸粋€(gè)基本原則,很容易證明這個(gè)簽名信息就是我。
const unsigned char author_msg = ['s','j','_','d','a','i','@','h','o','t','m','a','i','l','.','c','o','m');
如果你覺(jué)得這個(gè)簽名還不夠安全,看下面的。
name_sum=0;
for(i=0;i(author_msg);i++)
{
name_sum=name_sum+author_msg[i];
}
if(name_sum!=0xXX)
{
while(1)
{
//死循環(huán)
}
}
發(fā)布評(píng)論請(qǐng)先 登錄
電網(wǎng)穩(wěn)定的“隱形衛(wèi)士”:一次消諧器的核心功能,你知道多少?
保姆級(jí)教程!RK3588 Linux6.1?固件簽名完整實(shí)現(xiàn)方案(不含rootfs)
探秘TMS37145:高性能數(shù)字簽名應(yīng)答器的技術(shù)剖析與應(yīng)用展望
CW32F030C8T6數(shù)字簽名實(shí)戰(zhàn)
CW32F030C8T6數(shù)字簽名的實(shí)戰(zhàn)指南
GD32VF103設(shè)備電子簽名讀出來(lái)不對(duì)是怎么回事?
VVIC 平臺(tái)商品詳情接口高效調(diào)用方案:從簽名驗(yàn)證到數(shù)據(jù)解析全流程
部署光儲(chǔ)項(xiàng)目別忘了“這一步”!ACCU-200助力能源調(diào)度更智能
自簽名證書(shū)工具cfssl詳解
這里有70個(gè)經(jīng)典運(yùn)放電路,直接套用省時(shí)50%
想用好樹(shù)莓派最好帶上這些東西!
解鎖垂直美學(xué)!如何在你的Raspberry Pi相框中僅顯示豎版照片!
別忘了在你的程序中留下簽名
評(píng)論