现在一些类型的单片机,从几百块钱到几万块钱,也有人可以做破解,为了防止大家的产品被剽窃,那今天我给大家简单介绍一种当前比较流行的常用加密手段。
这种加密手段其实原理很简单,现在是单片机的主流加密手段,还有尤其FPGA这种内部不带程序存储空间的器件,更是比较多的利用这种加密手段,就是唯一ID。那我们现在手上的银行卡芯片卡,就是用的这种加密手段,这也是为什么
这个唯一ID的意思就是,每颗芯片出厂的时候,都带了一个号码,这个号码是唯一不重复的,和我们每个人的身份证号码一样,现在刚出生的婴儿,办理出生证的时候就给他一个身份证号,那么每个芯片一生产出来,也就具备了这个身份证号。那有了这个身份证号可以做什么呢?、
我们可以在单片机的外设上添加一个EERPOM存储器(或者有的单片机内部有),然后我们自己组织一种特殊的算法,利用这个唯一ID,产生一组数据,每生产一个产品,我们预先存储在我们的EEPROM内这样一个数据,当然,烧写这个数据我们也可以用软件程序来实现的。我们的单片机上电程序初始化的时候,会来读一下EEPROM内部这个数据X,然后用自身内部的ID加这个算法运算一下一个值Y,然后比较X和Y是否一致,如果一致就继续工作,如果不一致就停止工作。
举个例子,如果我们这个芯片内部的ID是147258369这9位数字,那么我们的算法就是每一位数字乘以2加1,进位部分直接舍掉,那形成的数字就是:395517739。我们只需要把395517739这个数字预先烧写到我们的EEPROM内部,然后我们编写功能程序的时候,在初始化部分,会上电读一下EEPROM的这个数字,读出来X是395517739,然后再读一下我们的这个芯片的唯一ID是147258369,用我们的算法计算一下这个结果Y是395517739,比较两者相等,则程序继续执行,两者不相等则不工作。
一、芯片破解者,只能把芯片的二进制码读出来,源程序他是改不了的,所以他只能复制程序,并不能随便更改程序。
二、每个产品上的主单片机的唯一ID,都会预先和自己产品的EEPROM内部的数据做比较,即使他们复制了这个EERPOM的数据,那他们只要换了其他一颗单片机,还是依然无法运行。