应对单片机破解的几点建议
(1)在选择加密芯片之前,要充分调研了解单片机破解技术的新进展,包括哪些单片机已经被确认破解。尽量不要选择可破解的芯片或同系列同型号的芯片,选择新技术、新结构、上市时间短的单片机。比如可以用ATMEGA88/ATMEGA88V,国内目前价格在6K左右,其他目前比较难解密的芯片有ST12系列和DSPPIC。其他的也可以用CPLD加密,所以解密成本很高,一般CPLD的解密也需要1万左右。
(2)尽量不要选择MCS51系列单片机,因为这种单片机是国内最普及、研究最透彻的。
(3)产品的原创者一般都具有产量大的特点,所以造假者使用相对不常用、冷门的单片机购买难度更大。一些不常见的单片机,如Attiny 2313,AT89C51RD2,AT89C51RC2,摩托罗拉单片机等难以解密的芯片,目前国内都会开发。
(4)在设计成本允许的情况下,应选择具有硬件自毁功能的智能卡芯片,以有效应对物理攻击;另外,在编程的时候,给定时功能加上时间,比如用了1年,所有功能都会自动停止运行,这样会增加破解者的成本。
(5)如果条件允许,可以使用两种不同型号的单片机互为备份,互为验证,增加破解成本。
(6)磨掉芯片型号等信息或重新印刷其他型号以假乱真(注意反面的LOGO也要擦掉。对于很多芯片,解密器可以从反面判断型号,比如51,华邦,MDT等。).
(7)单片机未公开和未使用的标志位或单元可作为软件标志位。
(8)使用MCS-51中的A5指令进行加密。其实世界上所有的资料,包括英文资料,都没有讲这个指令。其实这个指令是一个很好的加密指令。A5的作用是在双字节空操作指令的加密方法中,在A5后面加一个双字节或三字节的操作码,因为所有反汇编软件都不会反汇编A5指令,会导致正常程序被反汇编,如果程序执行没有问题,抄袭者也无法更改你的源程序。
(9)你要在节目区写下你的著名公司的发展时间和模仿会被追究法律保护的声明;另外,写名字的时候可以是随机的,也就是说,在不同的外界条件下,你的名字是不一样的,比如WWWHUSOONCOM 1011,wwwhusoocnn 1012等。,很难拆卸和修改。
(10)用高级编程器烧一些内部管脚,也可以用自制设备烧金丝,目前国内几乎无法解密。即使解密,也要几万块钱,需要多张母片。
(11)整个电路板用保密硅胶(环氧树脂灌封胶)密封,PCB上没用的焊盘比较多。硅胶里还可以掺杂一些没用的元件,尽量把MCU周围的电子元件擦掉。
(12)对于SyncMos,华邦MCU,要烧录的文件会转换成十六进制文件,这样烧录到芯片中的程序空间会自动加00。如果习惯BIN文件,也可以用编程器把空白区域的FF改成00,这样一般的解密器就找不到芯片中的空间,无法进行后续的解密操作。
当然,从根本上防止单片机被解密是不可能的。随着加密技术和解密技术的不断发展,现在无论是哪种单片机,只要有人愿意出钱,基本上都可以制造出来,只是成本和周期长短的问题。程序员也可以从法律途径(比如专利)保护自己的开发。