原创 谈谈芯片解密技术-鼎华科技

2015-4-15 16:51 809 11 11 分类: 采购与分销

 

首先我们来了解一下现有常见的解密方法:     

1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。同一系列的单片机都不是颗颗一样。

2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。首先将单片机的 Config.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。再用硝酸熔去掉封装,在显微镜下用微形探针试探。得出结果后在显微镜拍成图片用FIB连接或切割加工完成。也有不用FIB用探针就能用编程器将程序读出。

3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至120分钟出文件、成本非常低样片成本就行。首先将单片机的 Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。(不过他有个缺陷,不是对每颗OTP/falsh都有效)

 

有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:

EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。因为它的加密位在于第9位,所以会影响数据。说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。如果数据由0变为1后:"0111 bbb rrrrrrr" 变成JBS 0x13,2头痛啊,见议在80H到8FH和280H到28FH多用这条指令。或用"润飞RF-2148"烧录,将IC的  CheckSum变为0000让解密者不知道内部的CheckSum值是多少。因为EMC的烧器会将这个CheckSum值加上去,即讲给解密者内部CheckSum值是多少。RF-2148烧录器不过有点慢。刚才讲的是普通级的153,156,447,451,458等,但是N级即工业级的加密位在0,1,2位:0000000000XXX,XXX是加密位,见议在80H到8FH和280H到28FH用 RETL @0x?? 这条指令,他的格式为:11100 rrrrrrrr。硬件方面加密看下面。

 

CYPRESS单片机用紫外光有那一些问题出现呢?:常见型号有63001、63723、、、影响数据出现地址ROM最后的32Byte,做的不好的会有64Bytes出现问题。最好用这些地方来做Table:查表最好。数据格式:11011111你现在看到的0就是加密位的数据第5位,后64Byte的数据会由0变为1。如果你的数据没有写到这里时解密出来的程序就100%ok了。如果这里有数据但就没有办法补回去了!

 

MDT单片机用紫外光有那一些问题出现呢?  常见型号有10pxx 20xx系列,影响数据出现地址ROM最后的32Byte,做的不好的会有128Bytes出现问题,但是有些出在地址0000H开始几十个Byte,因为MDT的版本太多。它的加密位在第13位,是最后一位。指令格式这里不再详解自已研究。只要这些地方有数据就可以让解密者头痛。

 

 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条