由于单片机应用的领域广泛,市场中出现了一种单片机解密设备,下面就简单谈谈市场上所谓单片机解密器的工作原理从而得出防止单片机解密的简单的解决方法。
单片机解密器的工作原理:
单片机解密器其实是个非凡的编程器,因为芯片是加密的,普通编程器无法读出已经加密的代码源程序,而解密器可以读出。
任何一款解密器都只能针对某一款芯片有效,这是为甚麽呢?我们可以深入到单片机解密器解密的原理就可以明白了。单片机解密器要想从加密的芯片内读出数据,就要使芯片的加密功能失效。
第一种思路就是改写加密位:拿常用的51系列单片机来说,有2个加密位。假如解密器在读数据以前,先去改写这2个加密位的数据,使之变成了不加密的状态,这样就可以读出数据了,51系列的单片机超多超多资料比较多,其读写办法以+时序控制都详解的很明白。
第二种使加密失效的思路就是去改变芯片的工作环境,包括工作电压以+工作频率。因为芯片设计的漏洞或是设计厂家为了测试方便留下的后门,在肯定的非凡工作环境下,这款芯片加密就会失效,如同不加密的芯片一样,可以直接读出芯片里的数据。
第三种是去修改芯片的配置字,很多单片机的加密配置可以在配置字里修改,假如把配置字修改成了不加密状态,经过刷配置字,让加密的芯片变成了不加密的芯片,那芯片的代 码就可以读出来了。
第四种是SyncMos 51单片机和WINBOND 51单片机由于在生产工艺上的漏洞,可以用某些编程器定位插字节来进行51单片机解密,定位插字节的工作原理是查找芯片中是否有连续空位,也就是查找芯片中连续的FF FF字节,插入的字节能够执行把片内的程序送到片外的指令,然后用芯片解密设备进行截获,这样芯片内部的程序就被解密出来了。
防止51系列单片机被破解的简单的解决方法:
一:将把要烧录的文件转成HEX文件,这样烧录到芯片内部的程序空位自动添00.00;
二:如手中只有BIN文件,也可以用编程器把空白区域中的FF改成00,这样解密器也就找不到芯片中的空位,也就无法执行以后的解密操作----解密器失效;
三:改成其它51系列单片机如PHILIP,ATMEL,SST 及一些偏门IC。