单片机加密方法之抛砖引玉
①单片机加密方法
科研成果保护是每一个科研人员最关心的事情,目的不使自己的辛苦劳动付注东流加密方法有软件加密,硬件加密,软硬件综合加密, 时间加密,错误引导加密,专利保护等措施有矛就有盾,有盾就有矛,有矛有盾,才促进矛盾质量水平的提高加密只讲盾,也希望网友提供更新的加密思路现先讲一个软件加密:利用MCS-51中A5指令加密,(本人85年发现的,名软件陷阱),其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令A5功能是二字节空操作指令加密方法在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序,你应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护我曾抓到过一位获省优产品仿制者,我说你们为什么把我的名字也写到你的产品中?
硬件加密:8031/8052单片机就是8031/8052掩模产品中的不合格产品,内部有ROM(本人85年发现的),可以把8031/8052当8751/8752来用,再扩展外部程序器,然后调用8031内部子程序当然你所选的同批8031芯片的首地址及所需用的中断入口均应转到外部程序区
②单片机加密方法
各位,我在这里公开场合讲加密,有的只能讲思路,有的要去实验,要联想,要综合应用各种方法,甚至有的不能言传,只能意会因为这里有的造矛者也在看我们如何造盾,当然,我们也要去看人家怎样造矛,目前国内外最高造矛的水平怎样知已知彼,才能百战百胜
硬件加密: 使他人不能读你的程序用高电压或激光烧断某条引脚,使其读不到内部程序,用高电压会造成一些器件损坏重要RAM数据采用电池(大电容,街机采用的办法)保护,拔出芯片数据失去机器不能起动,或能初始化,但不能运行用真真假假方法加密: 擦除芯片标识 把8X52单片机,标成8X51单片机,并用到后128B的RAM等方法,把AT90S8252当AT89C52,初始化后程序段中并用到EEPROM内容,你再去联想吧! 用激光(或丝印)打上其它标识如有的单片机引脚兼容,有的又不是同一种单片机,可张冠李戴,只能意会了,这要求你知识面广一点用最新出厂编号的单片机,如2000年后的AT89C就难解密,或新的单片机品种,如AVR单片机DIP封装改成PLCC,TQFP,SOIC,BGA等封装, 如果量大可以做定制ASIC,或软封装 用不需外晶振的单片机工作(如AVR单片机中的AT90S1200) 使用更复杂的单片机FPGA+AVR+SRAM=AT40K系列
③单片机加密方法
硬件加密与软件加密只是为叙说方便而分开来讲, 其实它们是分不开的,互相支撑,互相依存的软件加密:其目的是不让人读懂你的程序,不能修改程序,你可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位,如8031/8051有一个用户标志位,PSW.1位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址处加二字节或三字节操作码在无程序的空单元也加上程序机器码,最好要加巧妙一点用大容量芯片,用市场上仿真器不能仿真的芯片,如内部程序为64KB或大于64KB的器件,如:AVR单片机中ATmega103的Flash程序存储器为128KBAT89S8252/AT89S53中有EEPROM,关键数据存放在EEPROM中,或程序初始化时把密码写到EEPROM中,程序执行时再查密码正确与否,然后.......当然不能告说人家这是什么器件,
尽量不让人家读懂程序,在这里说谎,骗人是正当防卫用真真假假, 假假真真,把几种不同品种的单片机放在同一设备中,如主芯片用AVR(说是MCS51),键盘显示用AT89C2051(说是GAL),I/O口扩展驱动用PIC(说是AT90S1200)等,当然要求你知识面广一点如果你用高级语言C编写程序就简单了,因为C语言程序移植方便有些国家的产品能做到三年保修,三年保不坏,三年后保坏,或三年后保有故障,可能用什么技术?你去想吧例:每次开机或关机,EEPROM某单元加1,也可二个三个单元连接起来计数,达到某值停止工作硬件用软件代替,软件用硬件代替用大规模CPLD可编程器件关于单片机加密,讲到这里,就算抛砖引玉,下面请各位高手把玉亮出来吧
评论