0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机加密的三种方法详细说明

Wildesbeast 来源:未知 作者:佚名 2019-11-09 11:00 次阅读

单片机在现在工业控制中起着巨大的作用,在各个地方都可以看到它的身影。其中的程序更可以说是单位的商业秘密。所以,就关于单片机的加密我来说几点体会。

单片机加密方法 (1)

科研成果保护是每一个科研人员最关心的事情 , 目的不使自己的辛苦劳动付注东流。加密方法有软件加密 , 硬件加密 , 软硬件综合加密 , 时间加密 , 错误引导加密 , 专利保护等措施。

现先讲一个软件加密 : 利用 MCS-51 中 A5 指令加密 , 其实世界上所有资料 , 包括英文资料都没有讲这条指令 , 其实这是很好的加密指令。 A5 功能是二字节空操作指令。加密方法在 A5 后加一个二字节或三字节操作码 , 因为所有反汇编软件都不会反汇编 A5 指令 , 造成正常程序反汇编乱套 , 执行程序无问题。仿制者就不能改变你的源程序 , 你应在程序区写上你的大名、单位、开发时间及仿制必究的说法 ,以备获得法律保护。

硬件加密 :8031/8052 单片机就是 8031/8052 掩模产品中的不合格产品 , 内部有 ROM, 可以把 8031/8052 当 8751/8752 来用 , 再扩展外部程序器 , 然后调用 8031 内部子程序。当然你所选的同批 8031 芯片的首地址及所需用的中断入口均应转到外部程序区。

单片机加密方法 (2)

硬件加密 : 使他人不能读你的程序

① 用高电压或激光烧断某条引脚 , 使其读不到内部程序 , 用高电压会造成一些器件损坏。

② 重要 RAM 数据采用电池 ( 大电容 , 街机采用的办法 ) 保护 , 拔出芯片数据失去。机器不能起动 , 或能初始化 , 但不能运行。

用真真假假方法加密 :

擦除芯片标识。

把 8X52 单片机 , 标成 8X51 单片机 , 并用到后 128B 的 RAM 等方法 , 把 AT90S8252 当 AT89C52, 初始化后程序段中并用到EEPROM 内容 , 你再去联想吧 !

用激光 ( 或丝印 ) 打上其它标识。如有的单片机引脚兼容 , 有的又不是同一种单片机 , 可张冠李戴 , 只能意会了 , 这要求你知识面广一点。

最新出厂编号的单片机 , 如 2000 年后的 AT89C 就难解密 , 或新的单片机品种 , 如 AVR 单片机。

DIP 封装改成 PLCC,TQFP,SOIC,BGA 等封装。

如果量大可以做定制 ASIC, 或软封装。

用不需外晶振的单片机工作 ( 如 AVR 单片机中的 AT90S1200) 。

使用更复杂的单片机 FPGA+AVR+SRAM=AT40K 系列。

单片机加密方法 (3)

硬件加密与软件加密只是为叙说方便而分开来讲 , 其实它们是分不开的 , 互相支撑 , 互相依存的。

软件加密 : 其目的是不让人读懂你的程序 , 不能修改程序 , 你可以 。..。..。

利用单片机未公开 , 未被利用的标志位或单元 , 作为软件标志位 , 如 8031/8051 有一个用户标志位 ,PSW.1 位 , 是可以利用的。

程序入口地址不要用整地址 , 如 :XX00H,XXX0H, 可用整地址 -1, 或 -2, 而在整地址处加二字节或三字节操作码。

在无程序的空单元也加上程序机器码 , 最好要加巧妙一点。

用大容量芯片 , 用市场上仿真器不能仿真的芯片 , 如内部程序为 64KB 或大于 64KB 的器件 , 如 :AVR 单片机中 ATmega103 的Flash 程序存储器为 128KB 。

AT89S8252/AT89S53 中有 EEPROM, 关键数据存放在 EEPROM 中 , 或程序初始化时把密码写到 EEPROM 中 , 程序执行时再查密码正确与否 , 然后 。..。..。 。当然不能告说人家这是什么器件 , 尽量不让人家读懂程序 , 在这里说谎 , 骗人是正当防卫。

用“真真假假 , 假假真真” , 把几种不同品种的单片机放在同一设备中 , 如主芯片用 AVR( 说是 MCS51), 键盘显示用 AT89C2051( 说是 GAL),I/O 口扩展驱动用 PIC( 说是 AT90S1200) 等 , 当然要求你知识面广一点。如果你用高级语言 C 编写程序就简单了 , 因为 C 语言程序移植方便。

有些国家的产品能做到三年保修 , 三年保不坏 , 三年后保坏 , 或三年后保有故障 , 可能用什么技术 ? 你去想吧。例 : 每次开机或关机 ,EEPROM 某单元加 1, 也可二个、三个单元连接起来计数 , 达到某值停止工作。

硬件用软件代替 , 软件用硬件代替。用大规模 CPLD编程器件。

关于单片机加密 , 讲到这里 , 就算抛砖引玉吧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44486

    浏览量

    631847
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1354

    浏览量

    114429
  • 源程序
    +关注

    关注

    63

    文章

    1693

    浏览量

    45374
收藏 人收藏

    评论

    相关推荐

    STM32单片机的ISP、IAP、ICP三种烧录方式

      内容包括ISP、IAP、ICP三种烧录方式的详细介绍,STM32单片机与宏晶STC单片机烧录方法,STM32
    发表于 08-09 15:21 3.2w次阅读
    STM32<b class='flag-5'>单片机</b>的ISP、IAP、ICP<b class='flag-5'>三种</b>烧录方式

    详细介绍Flash型单片机加密解密方法

    。  两加密解密方法  在HCS12系列单片机中,加密可以分成两种方法:完全
    发表于 10-21 19:59

    51单片机模拟串口的三种方法

    51单片机模拟串口的三种方法随着单片机的使用日益频繁,用其作前置进行采集和通信也常见于各种应用,一般是利用前置采集各种终端数据后进行处理
    发表于 05-29 14:14

    MCS-51单片机控制跑马灯的三种方法

    MCS-51单片机控制跑马灯的三种方法:穷举法、移位法、查表法。跑马灯,是指将八个发光二极管分别连接到单片机的某一并行端口的八根线上,通过编程控制这八个发光二极管从低到高或从高到低依次点亮。
    发表于 12-18 15:44 4.6w次阅读
    MCS-51<b class='flag-5'>单片机</b>控制跑马灯的<b class='flag-5'>三种方法</b>

    51单片机教程之单片机硬件结构的详细说明

    本文档的主要内容详细介绍的是51单片机教程之单片机硬件结构的详细说明内容包括了:一内部结构与引脚说明,二
    发表于 10-23 11:04 32次下载
    51<b class='flag-5'>单片机</b>教程之<b class='flag-5'>单片机</b>硬件结构的<b class='flag-5'>详细说明</b>

    51单片机经常会出现的4点错误解决方法详细说明

    本文档的主要内容详细介绍的是51单片机经常会出现的4点错误解决方法详细说明
    发表于 09-06 17:26 0次下载
    51<b class='flag-5'>单片机</b>经常会出现的4点错误解决<b class='flag-5'>方法</b><b class='flag-5'>详细说明</b>

    在Windows系统下使用STC ISP下载51单片机程序的方法详细说明

    本文档的主要内容详细介绍的是在Windows系统下使用STC ISP下载51单片机程序的方法详细说明
    发表于 08-30 17:28 0次下载
    在Windows系统下使用STC ISP下载51<b class='flag-5'>单片机</b>程序的<b class='flag-5'>方法</b><b class='flag-5'>详细说明</b>

    进行单片机串口通信的方式详细说明

    本文档的主要内容详细介绍的是进行单片机串口通信的方式详细说明
    发表于 08-01 17:35 1次下载
    进行<b class='flag-5'>单片机</b>串口通信的方式<b class='flag-5'>详细说明</b>

    51单片机中断系统的原理和结构详细说明

    本文档的主要内容详细介绍的是51单片机中断系统的原理和结构详细说明
    发表于 11-19 08:00 2次下载
    51<b class='flag-5'>单片机</b>中断系统的原理和结构<b class='flag-5'>详细说明</b>

    单片机的指令大全详细说明

    本文档的主要内容详细介绍的是单片机的指令大全详细说明
    发表于 12-26 11:39 24次下载
    <b class='flag-5'>单片机</b>的指令大全<b class='flag-5'>详细说明</b>

    STM32单片机的输入捕获实验详细说明

    本文档的主要内容详细介绍的是STM32单片机的输入捕获实验详细说明
    发表于 01-02 08:00 3次下载
    STM32<b class='flag-5'>单片机</b>的输入捕获实验<b class='flag-5'>详细说明</b>

    机器人单片机控制大模块的方法详细说明

    本文档的主要内容详细介绍的是机器人单片机控制大模块的方法详细说明
    发表于 04-22 08:00 1次下载
    机器人<b class='flag-5'>单片机</b>控制<b class='flag-5'>三</b>大模块的<b class='flag-5'>方法</b>的<b class='flag-5'>详细说明</b>

    单片机遥控解码的源代码详细说明

    本文档的主要内容详细介绍的是单片机遥控解码的源代码详细说明
    的头像 发表于 09-26 11:07 3142次阅读

    单片机测量PWM占空比的三种方法

    单片机测量PWM占空比的三种方法PWM(Pulse Width Modulation),一般指脉冲宽度调节,是利用微处理器的数字输出来对模拟电路进行控制的一非常有效的技术,广泛应用在从测量、通信
    发表于 11-19 11:21 69次下载
    <b class='flag-5'>单片机</b>测量PWM占空比的<b class='flag-5'>三种方法</b>

    单片机三种总线结构

    、控制信号传递和地址选择中发挥着至关重要的作用。下面将详细阐述这三种总线结构的特点及其在单片机系统中的应用。
    的头像 发表于 09-10 11:32 1266次阅读