好象到现在为止还没有那种一劳永逸的加密方案,我就说说我知道的破解事件,虽然大部分是听说的,但是据我推测可信度还是蛮高的。最早2006年的时候就传说有一个研究所的人把日系的plc给解密了,听说那个plc是用mcu做的,因为早期的MCU都没有内置的flash,程序放在外部的EPROM中,所以程序就很容易被解密了。有朋友在哪里打工所以就有这个传说了。
再有是据电子市场上的一个朋友说,一个做开发的哥们被市场上一个蒙事的二赖给坑了。这个二赖我还见过,所以可信度比较高。说是二赖找哪哥们开发一套“计米器”纺织机上用的设备。二赖拿了人家样机给了点物料费,就说样机这个那个的一堆“不是”,最后当然是退货,然后就是开发的那个哥们在市场上看到他开发的样机的仿制品了。从那时起就注意各种防破解的方案了。
早期的8051主要是通过将烧写的引脚“废掉”的办法,但是听人说:广东那边的人可以通过“剖片”的办法从芯片的内部将flash区域给“手工”焊线读取“程序”。到目前为止市场上绝大多数MCU或“传说中的加密芯片”都可以被人给“融片”!原理好象是因为逻辑部分和flash部分的制造工艺是不一样的,只要打开芯片使用芯片封装焊机接上线就可以读取出程序。只是说手工费高一点,据说两万以里。
甚至传说通过mcu设计缺陷的单片机,可以“立等取货”。价格大几千元。听说其中就有号称不可被破解的国产8051芯片之王。
后来又传说有人使用电池供电,将数据保存到RAM中,只要掉电就不玩了等等。但是有些时候这些手段是受限的,而且用户维护成本很高,好多也不能使用!
目前可靠一点的是:各家mcu都设计有出厂的唯一“UID”,听说效果不错。但是又听说:因为目前的芯片多数都是RISC的,指令集很规整,所以C语言和汇编的相似度颇高,很容易就可以反编译成为人工可读性高的代码。所以可以通过调试的办法给“跳过去”。所以也不是很保险。
可能有人说剖片只能是熟悉的芯片,不熟悉的芯片你不就没办法了吗?好象很有道理,但是听说flash的工艺都是出自SST公司,所以工艺结构都是一样的,结构特征很明显。只要见过几个典型的芯片就可以推断出哪个区域是flash。而且结构是一模一样的,就连接线位置都是一样的。我这是在2009年时听一个从事过芯片设计的同事说的。这些累活他是亲自干过的,人家主要是为了修复芯片bug哦!你不会说flash工艺是俺们自己的!自己的!如果有这本事,就直接收授权费了,干什么芯片呀。
|