单片机系统的加密技术
作者:admin 日期:2010年04月10日 来源:互联网 浏览: 次
核心提示:
这种编程加密方法烧坏加密锁定位(把芯片内的硅片击穿,市面上很多编程器都支持)而不破坏芯片的其他部分,不占用单片机任何资源。
本文介绍几种8051单片机加密的方法,实际应用中可综合使用以增加破解的难度。
一、永久性地破坏单片机加密位的加密方法(OTP加密模式)
这种编程加密方法烧坏加密锁定位(把芯片内的硅片击穿,市面上很多编程器都支持)而不破坏芯片的其他部分,不占用单片机任何资源。用OTP模式加密后,单片机片内的加密位和程序存储器内的数据就不能被再次擦除,89C51/52/55单片机就好像变成了一次性编程的OTP型单片机一样。如果用户程序长度大于89C51单片机片内存储器的容量,也可使用OTP加密模式,具体方法如下:
1.按常规扩展一片大容量程序存储器,如 27C512(64k)。
2.把关键的程序部分安排在程序的前4k中。
3.把整个程序写入27C512,再把27C512的前 4k填充为0。
4.把程序的前4k固化到AT89C51中,用OTP模式做加密。
5.把单片机的EA脚接高电平。
这样程序的前4k在单片机内部运行,后60k在片外运行。盗版者无法读出程序的前4k程序,即使知道后60k也无济于事。
二、永久性地破坏单片机的数据总线的加密方法(烧总线加密模式)
因为单片机片内的程序代码最终都要通过数据总线读出,若单片机的数据总线的其中一条线被永久性地破坏,解密者即使擦除了加密位,也无法读出片内程序的正确代码。89C1051/2051通过烧总线模式烧坏P1.0端口。若原程序代码为02H、01H、 00H,而读出的数据则为03H,01H,00H,其中最低位始终为1,读出的程序代码显然为错码。这种加密模式用于加密AT89C1051/2051单片机。其缺点是占用单片机的资源。开发设计人员在设计单片机硬件系统时只要预留出口线P1.0不用,以后就可用烧总线模式对单片机加密。
三、用大规模可编程器件(CPLD)加单片机模式。盗版者不易破解大规模CPLD的加密。
四、软件加密
1.利用MCS-51中A5指令加密(名软件陷阱)。其实MCS-51的所有资料都没有讲这条指令。A5指令是二字节空操作指令。加密方法是在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,导致程序反汇编出错。
2.利用单片机未公开或未被利用的标志位或单元作为软件标志位,如 8031/8051有一个用户标志位PSW.1。
3.程序入口地址不要用整地址,如6:xx00H,xxx0H,可用整地址减1,或减2,而在整地址处加二字节或三字节操作码。
4.在无程序的空单元也加上程序机器码。
5.用市场上仿真器不能仿真的芯片,例如 AT89S8252/AT89S53中有EEPROM,将关键数据存放在EEPROM中,或程序初始化时把密码写到EEPROM中,程序执行时再查密码正确与否。
一、永久性地破坏单片机加密位的加密方法(OTP加密模式)
这种编程加密方法烧坏加密锁定位(把芯片内的硅片击穿,市面上很多编程器都支持)而不破坏芯片的其他部分,不占用单片机任何资源。用OTP模式加密后,单片机片内的加密位和程序存储器内的数据就不能被再次擦除,89C51/52/55单片机就好像变成了一次性编程的OTP型单片机一样。如果用户程序长度大于89C51单片机片内存储器的容量,也可使用OTP加密模式,具体方法如下:
1.按常规扩展一片大容量程序存储器,如 27C512(64k)。
2.把关键的程序部分安排在程序的前4k中。
3.把整个程序写入27C512,再把27C512的前 4k填充为0。
4.把程序的前4k固化到AT89C51中,用OTP模式做加密。
5.把单片机的EA脚接高电平。
这样程序的前4k在单片机内部运行,后60k在片外运行。盗版者无法读出程序的前4k程序,即使知道后60k也无济于事。
二、永久性地破坏单片机的数据总线的加密方法(烧总线加密模式)
因为单片机片内的程序代码最终都要通过数据总线读出,若单片机的数据总线的其中一条线被永久性地破坏,解密者即使擦除了加密位,也无法读出片内程序的正确代码。89C1051/2051通过烧总线模式烧坏P1.0端口。若原程序代码为02H、01H、 00H,而读出的数据则为03H,01H,00H,其中最低位始终为1,读出的程序代码显然为错码。这种加密模式用于加密AT89C1051/2051单片机。其缺点是占用单片机的资源。开发设计人员在设计单片机硬件系统时只要预留出口线P1.0不用,以后就可用烧总线模式对单片机加密。
三、用大规模可编程器件(CPLD)加单片机模式。盗版者不易破解大规模CPLD的加密。
四、软件加密
1.利用MCS-51中A5指令加密(名软件陷阱)。其实MCS-51的所有资料都没有讲这条指令。A5指令是二字节空操作指令。加密方法是在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,导致程序反汇编出错。
2.利用单片机未公开或未被利用的标志位或单元作为软件标志位,如 8031/8051有一个用户标志位PSW.1。
3.程序入口地址不要用整地址,如6:xx00H,xxx0H,可用整地址减1,或减2,而在整地址处加二字节或三字节操作码。
4.在无程序的空单元也加上程序机器码。
5.用市场上仿真器不能仿真的芯片,例如 AT89S8252/AT89S53中有EEPROM,将关键数据存放在EEPROM中,或程序初始化时把密码写到EEPROM中,程序执行时再查密码正确与否。
>>上一篇:芯片解密服务
>>下一篇:PIC12C671 IC解密
相关链接
- ·多层PCB抄板分层及套合技术研究04/21
- ·注塑机传感器PCB抄板及样机仿制案04/21
- ·串口转以太网设备pcb抄板方案04/02
- ·纳米机器人的二次开发04/02
- ·CBA-080AT-HC进口除尘机PCB抄板案03/14
- ·SJ13-VA-80a便携式测振仪PCB抄板03/10
- ·TY-10--300透平油专用滤油机PCB抄03/09
- ·信号的隔离技术在PCB抄板中的应用03/08
- ·DT-1000-1S/3S振动筛PCB抄板案例03/08
- ·PCB短路检查方法03/07
2011-04-21
多层PCB抄板分层及套合技术研究2011-03-08
信号的隔离技术在PCB抄板中的应用2011-03-07
PCB短路检查方法2011-03-04
紫外线油墨在柔印中的影响及应用2011-03-04
连接器的基本性能2011-03-02
五大方法降低汽车用PCB缺陷率2011-02-28
PCB表面最终涂层工艺种类2011-02-28
开关电源的PCB设计规范2011-02-25
线路板制造中三种计算方法2011-02-25
热风枪的使用方法
2011-04-21
注塑机传感器PCB抄板及样机仿制案2011-04-19
英语手抄板之电子白板克隆案例2011-04-19
高中手抄板之多媒体数控实验室案2011-03-29
变频器的二次开发2011-03-10
SJ13-VA-80a便携式测振仪PCB抄板2011-03-09
TY-10--300透平油专用滤油机PCB抄2011-03-08
DT-1000-1S/3S振动筛PCB抄板案例2011-03-07
激光切割机PCB抄板成功及案例2011-03-04
A3 LK1390经济型万能打印机抄板成2011-03-02
ACL-600人体静电消除器PCB抄板案
联系我们
电话:0755-83757070
传真:0755-83676377
邮箱:E-mail:market1@pcblab.net
联系地址:深圳福田区福虹路世界贸易广场B座12F
传真:0755-83676377
邮箱:E-mail:market1@pcblab.net
联系地址:深圳福田区福虹路世界贸易广场B座12F

