为了防止大家的程序不被剽窃,本文给大家分享单片机加密的方法。
另外关于解密的方法可以参考这篇文章如何解密单片机内程序?
常见加密方法
程序写保护
这种方法是最常见,也是最简单的一种。现在的MUC基本都有写保护功能,但是这种容易被人破解。
烧断数据总线
这个方法听起来不错,但有损坏的风险,同样也能破解。
软件加密
是一些防止别人读懂程序的方法,单一的这种方法不能防止别人全盘复制,须配合其他的加密算法。
添加外部硬件电路的加密方法
这个方法效果看起来比较好,但会增加成本。
芯片打磨改型
这个方法改了型号能误导,但同时也增加成本,解密者一般也能分析出来。
通过通过联网加序列号加密
通过连接网络,在你的MCU中生成一个唯一的随机长序列号,并加入复杂的特种算法,或加入你们重新编码的企业信息在里面,每个芯片内不同,复制者只能复制到一个序列号。
通过MCU唯一的标识加密
以前很多MCU没有唯一标识码,现在的很多MCU都具有唯一标识码了。
这个方法比较好,简单省事,能很好的防止复制。
读保护 + 唯一ID加密
使用读保护 + 唯一ID的加密是最常用的一种方法,也是推荐大家使用的一种方法。
唯一ID 现在正规的芯片,每颗出厂的时候都带了一个唯一标识码,这个号码是唯一不重复的,比如STM32的就使用96位作为唯一ID。 和我们每个人的身份证号码一样,现在刚出生的婴儿,上户的时候就给他一个身份证号,那么每个芯片一生产出来,也就具备了这个身份证号。
加密原理 读保护就不用说了,增加被破解难度。 使用唯一ID加密的方法很多,这里说一种简单的方法:出厂时程序读取唯一ID并保存在一个位置,以后程序执行之前,要读取并匹配这个唯一ID,一致才执行程序。 当然,这种方法是最基础的原理,但也存在被破解的风险。
所以,存储的数据,以及读取验证这两个地方需要进一步添加一些算法。 这样操作之后,即使别人读取了你的程序,也是无法正常执行。
关键字:STM32 单片机 程序加密
引用地址:
STM32等单片机程序加密有哪些方法
推荐阅读最新更新时间:2024-11-03 20:50
MSP430单片机的OLED实时时钟制作
这段时间在学习MSP430,将以前学习的常用模块移植过来,由于MSP430F149没有iic接口,自己模拟了一个,用到的模块为:DS1302、DS18B20、OLED(IIC接口)。可通过按键切换AD及温度显示(红外程序也包含其中,有兴趣的朋友可以稍微改一下就能实现红外控制) 制作出来的实物图如下: 温度 AD #define main_c #include msp430x14x.h #include main.h #include iic.h #include ds1302.h #include ds18b20.h #include adc12.h #include IrRed.h #include
[单片机]
基于单片机的喷墨打印机控制技术
摘要:介绍一种采用MCS51系列单片机控制驱动Hewlett Packard DESKJET 600/800系列喷墨打印机的硬件接口设计和软件设计方法。以控制打印机实现表格打印功能为例,给出了用C51语言编写的一系列相关基本控制程序。
关键词:单片机 喷墨打印机 HP PCL LEVEL 3语言
单片机应用系统中最常用的输出打印设备是微型打印机,例如TP系列、UP系列打印机等,对它们的控制技术也较为成熟。但是近年来随着通用打印机的广泛使用,微型打印机的缺点也日益明显:一是通用性及互换性不强;二是打印输出文档的幅面过小,不便于装订及存档。而通用打印机都配有国际标准并行接口(CENTRONICS)和串行接口(RS232/422)
[单片机]
基于单片机的数据采集设计
1、设计要求 利用实验仪上的0809做A/ D转换实验,实验仪上的W1电位器提供模拟量输入。编制程序,将模拟量转换成数字量,通过发光二极管L1—L8显示。 2、设计说明 A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D转换器,速度快,价格也昂贵。 实验用ADC0809属第二类,是8位A/ D转换器。每采集一次一般需100μs。由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。 3、数据采集
[单片机]
STM32——库函数开发小结
基本上所有外设都有以下几类寄存器:【CR/DR/SR】 (1)控制寄存器 xxx_CR(Control/Configuration Register):这类寄存器是用来配置、控制 相应 外 设 的 工 作 方 式 的 。 如 GPIOx_CRL、GPIOx_CRH, AFIO_EXTICR1~AFIO_EXTICR4,串口的 USART_CR1~USART_CR3等。 (2)数据寄存器 xxx_DR(Data Register):这类寄存器主要是存储了外设进行输出输入的数据。如 GPIOx_IDR、GPIOx_ODR、USART_DR 等。 (3)状态寄存器 xxx_SR(Status Register):这类寄存器主
[单片机]
自制单片机之三----数码管电路的制做与驱动
数码管的使用方法与发光二极管没什么区别,只是把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。为了减少管脚,把各个发光管的其中同一个极接在一起作为共用点,因此就产生了共阳极和共阴极数码之说。共阳管就是把各个发光管的正极接在一起,而共阴管就刚好相反。见下图: iframe id="iframe_0.3267470763530582" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://hiphotos.baidu.com/txz01/pic/item/3f24f244448bca8bb3b7dca7.jpg?_=3264
[单片机]
单片机的“灵魂”数据存储器的应用
我们可以说程序存储器的里面存放的是单片机的灵魂,它就是工作程序。小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节、3字节指令,所以它还装不下1024条指令)大的也有128KB的。 这些8位数据要么在工厂里做摸子光刻进去,要么一次性的烧写进去,要么……用编程器这个特殊工具把调试成功的机器码装载进去,或者像AVR单片机那样自己花几块钱做一条下载线,把电脑里这些东西灌进去(或许是AVR最吸引人之处),它一旦进驻电脑的程序存储器中,除了借助上述装置便不能自由改写,在单片机运行时,只是从其中读出指令或固定的数据,所以给程序存储器一个“只读存储器”的别名,简写为ROM,包括用编程器写紫外线擦除内容的E
[单片机]
汽车电子MCU朝多方向发展 集成功能越来越多
汽车制造厂商在提高汽车安全性、智能化和能源效率方面临的诸多挑战,正在推动 汽车电子 不断发展。电子器件仍然是汽车市场中增长最快的部分,大大超过了机械、气动装置和液压装置。而作为电子控制模块(ECM)基础的高集成度MCU产品则正在扮演着越来越重要的角色。此外,随着市场对于汽车舒适、娱乐等应用的需求日益增长,也要求MCU集成更多的功能。 ECM的基石 Willie Fitzgerald:Microchip汽车电子市场的大部分收入都来自基于闪存的高集成度MCU,这类器件也是电子控制模块(ECM)的基础。 电子控制模块在一些关键的应用中变得越来越普遍,系统完整性因此成为一项关键因素。对于一些非重
[单片机]
爱特梅尔推出超小型快闪微控制器封装产品ATtiny4/5/9/10
爱特梅尔公司( Atmel Corporatio)近日宣布,全球最小的快闪AVR 微控制器 微控制器
一个微控制器,(也称作微处理器或MCU)就是一个小型的计算机,它由一系列简单的电路和一些支持CPU作用的简单模块组成,如晶体振荡器,定时器,看门狗,串行和模拟I / O口等等。芯片里包括非闪烁存储器和OTP ROM 用来存储程序,以及一个很小的读写程序。 封装产品开始投入生产。爱特梅尔的ATtiny4、ATtiny5、ATtiny9和ATtiny10 AVR微控制器 ( MCU MCU
MCU Microcontroller(微控制器)又可简称MCU 或μ C,也有人称为单芯片微控制器
[工业控制]