我独创的AT89S52另类加密方法,是你想不到的,奉献给大家!

2020-02-02 09:33发布

我刚刚接触单片机不久,下面讲到的方法绝对是我自己思索出来的,保证原创!
如果别人和我的思路一样,纯属巧合,也请各位大侠们别拍砖,也同时帮我分析一下这种方法可不可行!

我一直想对辛辛苦苦编写出来的单片机程序进行加密,但无从下手,大家知道,像S51、S52这类型的ISP下载的MCU,你即然可以ISP写入,
别人也很容易读取,写的程序一样被人家偷_窥无疑。我在网上搜索良久,找的方法无疑就三种:
1.使用有加密功能的单片机,但现在解密的编程器大把,很快就把你的程序偷取了。
2.把单片机的管脚烧毁,无疑这种方法最好,但是没有人提供正确的烧断步骤。为此我特地发了一个贴讨论过,都没有人知道怎么烧!
3.程序内部加密,但是你的板如果能正常运行,别人也仿照和你的板一模一样,别人也一样可以正常运行。这个方法不可行。

我自己就想,硬件烧断管脚我不会,那我就采用EEPROM(AT24C02)存储器进行加密,把加密值放入EEPROM中。

第一:
例如,我做一个4*4键盘的密码锁的电磁门锁产品。用的是AT24C02来存储用户的设置密码,假设地址1和地址2用来存放用户设置的密码,而地址10
和地址11、地址12用来存放我的加密值。我只要在程序中判断:地址10+地址11=地址12,那么条件成立,程序正常运行。否则就是盗版的,
我会让程序在24小时后陷入死循环锁坏,让用户开不了门,非得破门而入,让用户去投诉盗版公司,让他们的生意做不成。呵呵,想到这里我就想笑。
(注;加密值是我事先写入EEPROM中,并不会在产品程序中写入,这样的话,盗版的人就不知道我有加密过,给他们认为这是一个无加密的产品)

第二:
第二个产品就是烘烤箱,例如烘烤各类果实的果干。使用的是AT89S52和AT24C02和DS18B20,我的加密值同样也放在EEPROM中,大家知道,每个18B20
都独有一个序列号,我也把这相序列号存入EEPEOM中,在程序中也做相应的对应关系,能对应上就可以正常运行程序,否则就让程序在10分钟后拼命的
加热烧烤,烧死它,而让数码管显示的温度值是一个非常正常的数值。呵呵,想到这里我就会偷偷的笑!

第三:
我不会用平常的P0、P1口去驱动数码管,而是从P0-P3四个I/O口中任意取几个脚,只要凑够8个脚就行了,同理,键盘输入也是这样取管脚。
然后我用0.5平方的细漆包线进行连接管脚和元件,再用农机胶把这些细小的漆包线和整个AT89S52全部封住,让别人不知道这些管脚到底接的是哪个
元件,如果他们拆除农机胶进行查看,呵呵,因为农机胶很硬,拆不出就算拆出来,也会同时把漆包线弄断,更不可能知道管脚和元件的连接关系。

以上是我想到的加密方法,不知可不可行,请大家发表一下意见,如何才能做得更好。
(很遗憾的是我还掌握不到怎么烧断AT89S52管脚的方法,如果大家有这方面的经验,贴出来让大家分享一下好吗!)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
87条回答
cxxxcv
1楼-- · 2020-02-11 18:47
 精彩回答 2  元偷偷看……
496422558
2楼-- · 2020-02-12 00:10
路过,稍有收获·
h9816
3楼-- · 2020-02-12 01:18
厉害,真学习了
humancn
4楼-- · 2020-02-12 02:39
pxlpxlpxl 发表于 2010-9-9 21:37
回复【4楼】little Monkey
第一:  。。。。。。
----------------------------------------------------- ...

可不可以把18b20序列号中的几个字节参与到运算当中。比如有一个有返回值函数,把序列号和参数一起做代数运算。这样可行不呢?
linucos
5楼-- · 2020-02-12 06:26
那从copy程序flash,变成了copy eeprom了。呵呵
gaoyichuan000
6楼-- · 2020-02-12 07:56
 精彩回答 2  元偷偷看……

一周热门 更多>