找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5751|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

唯一ID的MCU的在防程序解密中的使用

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:25445 發(fā)表于 2010-8-5 20:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


     具有唯一ID的MCU在程序加密上有獨(dú)特的優(yōu)勢,就是利用這唯一ID對程序加密,使程序只能在這唯一ID上使用,做到程序不能直接硬拷貝。具體做法就是在燒錄程序時(shí)先讀出MCU的唯一ID,然后把這ID寫入程序中,目標(biāo)程序中要有判別這唯一ID的函數(shù),程序運(yùn)行時(shí)要對ID進(jìn)行核對,如果不對,則程序非正常運(yùn)行。做的高級點(diǎn)在程序空間開辟16-64字節(jié)的空間,把這唯一ID號加上一些隨機(jī)數(shù)據(jù)使用DES或其他加密算法進(jìn)行加密,然后燒錄到該MCU中。同時(shí)計(jì)算該程序的校驗(yàn)和(最好是unsigned long)一并燒錄的MCU中, 目標(biāo)程序運(yùn)行時(shí)不定時(shí)計(jì)算自己的校驗(yàn)和,發(fā)現(xiàn)不對則程序非正常運(yùn)行。程序運(yùn)行時(shí)解密這些數(shù)據(jù),然后再與唯一ID對照,如果錯(cuò)誤則不正常運(yùn)行。這樣做的目的是讓非法拷貝程序難道增加,必須讀懂程序,然后再修改相關(guān)方才能成功。這樣給非法拷貝增加了相當(dāng)難度。

    要做到以上的程序加密,就要有個(gè)自定義程序燒錄工具。本人在研究了STC11F系列的燒錄時(shí)序后開發(fā)了專用燒錄工具,燒錄時(shí)先燒錄一個(gè)專門讀唯一ID的程序,然后運(yùn)行這程序,讀出ID,然后進(jìn)行DES加密處變成16字節(jié)數(shù)后加入到真正的目標(biāo)程序然后燒錄這唯一適合該MCU的程序到該MCU。由于這些過程都是由程序控制的,與燒錄一個(gè)程序沒什么本質(zhì)的區(qū)別,還可脫機(jī)燒錄,非常方便。

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表