具有唯一ID的MCU在程序加密上有独特的优势,就是利用这唯一ID对程序加密,使程序只能在这唯一ID上使用,做到程序不能直接硬拷贝。具体做法就是在烧录程序时先读出MCU的唯一ID,然后把这ID写入程序中,目标程序中要有判别这唯一ID的函数,程序运行时要对ID进行核对,如果不对,则程序非正常运行。做的高级点在程序空间开辟16-64字节的空间,把这唯一ID号加上一些随机数据使用DES或其他加密算法进行加密,然后烧录到该MCU中。同时计算该程序的校验和(最好是unsigned long)一并烧录的MCU中, 目标程序运行时不定时计算自己的校验和,发现不对则程序非正常运行。程序运行时解密这些数据,然后再与唯一ID对照,如果错误则不正常运行。这样做的目的是让非法拷贝程序难道增加,必须读懂程序,然后再修改相关方才能成功。这样给非法拷贝增加了相当难度。
要做到以上的程序加密,就要有个自定义程序烧录工具。本人在研究了STC11F系列的烧录时序后开发了专用烧录工具,烧录时先烧录一个专门读唯一ID的程序,然后运行这程序,读出ID,然后进行DES加密处变成16字节数后加入到真正的目标程序然后烧录这唯一适合该MCU的程序到该MCU。由于这些过程都是由程序控制,与烧录一个程序没什么本质的区别,还可脱机烧录,非常方便。
引用: 原帖由 qushaobo 于 2009-11-13 15:53 发表 STC系列单片机是由STMicroelectronics 公司生产,并有宏晶公司做大陆代理的。STMicroelectronics即意法半导体公司是1987年6月在意大利的SGS微电子公司和法国的汤姆逊微电子公司合并后产生的。1998年5月,公司由原来的 ...
这位仁兄从哪里得到的消息,小心ST告你喔。
此STC 跟ST一点关系都没有。STC就是大陆本土的公司。