找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5751|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:25445 发表于 2010-8-5 20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


     具有唯一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。由于这些过程都是由程序控制的,与烧录一个程序没什么本质的区别,还可脱机烧录,非常方便。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表