8020 : 42 A0 45 B8 30 D8 53 45 54 49 8D 4D 54 54 BA4D
8030 : E0 0D E8 79 A0 36 1E EA B6 A6 2E DB 96 E6 7FAD
8040 : 10 10 E5 68 54 73 8D 28 EE 94 3E 78 4B 90 80 00
8050 : 0E C0 E0 E5 82 F5 F0 A2 F0 92 E7 A2 F2 92 E6 A2
8060 : F4 92 E5 A2 F6 92 E4 A2 F1 92 E3 A2 F3 92 E2 A2
8070 : F5 92 E1 A2 F7 92 E0 D0 F0 65 F0 F0 A3 D8 D1 00
8080 : 00 00 00 00 00 A0 41 AC 44 50 48 8D 43 4A 4E 45
3 MECK 0 ,3FFF | ;检查待固化ROM
OK
3 MEP 8000 ,804B ,0 ,5 | ;将仿真RAM 中8000H~804BH 的加密代码
OK 固化到外部ROM 的0 地址开始的单元里
3 MAP 0 | ; 使用片外ROM ,取消仿真RAM 出借
3 EX 0 | ; 执行片外ROM 里的程序
3 DX 0 | ;显示外部RAM 从0 地址开始的单元内容可见程序执行无误(显示略)对于大的用户应用程序,其操作过程仍如上述,但需改变程序二的加密字节数,并注意不要把程序二的代码固化到EPROM 里,否则,加密方法会暴露。
3 讨论
由于单片机程序是固化在EPROM 里的,所以不能象个人计算机那样利用类似磁盘防复制等这一类的方法对单片机程序防复制(带保密位的单片机除外) ,而只能在程序本身和相应的硬件上做文章。
本文虽然以MCS - 51 单片机为例介绍了一种用异或运算对片外EPROM里的单片机程序进行软件加密和硬件解密的方法,但本方法也适用于其它外接E2PROM 的单片机,此法一直应用在笔者于1993 年研制成功并生产了20 余套的一种分布式数控测井系统中。
使用上面介绍的方法,如果解密电路做得隐蔽,使非设计者不知道加密方法,则要破译片外EPROM 里的程序具有一定的难度。实际使用中还可采用更为复杂的方法产生“密钥”, “密钥”周期还可进一步加长;在硬件上也应做得隐蔽,解密电路亦可用编程器件实现,以进一步增加破译难度。
作者简介 陆利忠,男,1952 年10 月生,1985 年7 月毕业于清华大学无线电
电子学系。现为郑州解放军信息工程学院基础部
电子技术教研室副主任、副教授。

此主题相关图片如下:

上一页 [1] [2]
本文关键字:加密 单片机程序 综合-其它,单片机-工控设备 - 综合-其它