产品选型

单片机解密 浅谈单片机解密 单片机解密方法

小编 2024-10-07 产品选型 23 0

浅谈单片机解密 单片机解密方法

众所周知,现在做单片机解密的一大部分都是想对别人的产品来动心思做仿冒,当今就出现了一个这样的行业,这种行业是游走在法律的边缘,可以说是很不道德的,这种行业它的路还能走多远呢,可想而知,不过还有一部分是解密以后拿来做研究和学习的,那么这一部分的就是值得鼓励的,但是想要做单片机解密可不是那么容易的,下面具体介绍什么是单片机解密和单片机解密的具体方法。

一、什么是单片机解密

单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。什么叫单片机解密呢?如果要非法读出里的程式,就必需解开这个密码才能读出来,这个过程通常称为单片机解密或芯片加密。

为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序;如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。大部分单片机程式写进单片机后,工程师们为了防止他人非法盗用,所以给加密,以防他人读出里面的程式。

单片机加解密可划分为两大类,一类是硬件加解密,一类是软件加解密。硬件加密,对于单片机来说,一般是单片机厂商将加密熔丝固化在IC内,熔丝有加密状态及不加密状态,如果处于加密状态,一般的工具是读取不了IC里面的程序内容的,要读取其内容,这就涉及到硬件解密,必须有专业的硬件解密工具及专业的工程师。

其实任何一款单片机从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。这是系统设计者应该始终牢记的基本原则,因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。

二、单片机解密方法

芯片解密所要具备的条件是:

第一、你有一定的知识,懂得如何将一个已加密的芯片变为不加密。

第二、必须有读取程序的工具,可能有人就会说,无非就是一个编程器。是的,就是一个编程器,但并非所有的编程器是具备可以读的功能。这也是就为什么我们有时候为了解密一个芯片而会去开发一个可读编程器的原因。具备有一个可读的编程器,那我们就讲讲,芯片解密常有的一些方法。

1、软件攻击:

该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。

至于在其他加密方法的基础上,可以研究出一些设备,配合一定的软件,来做软件攻击。近期国内。凯基迪科技。出现了一种51芯片解密设备(成都一位高手搞出来的),这种解密器主要针对SyncMos.Winbond,在生产工艺上的漏洞,利用某些编程器定位插字节,通过一定的方法查找芯片中是否有连续空位,也就是说查找芯片中连续的FFFF字节,插入的字节能够执行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了。

2、电子探测攻击 :

该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。 至于RF编程器可以直接读出老的型号的加密MCU中的程序,就是采用这个原理。

3、过错产生技术:

该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。

4、探针技术:

该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。

5、紫外线攻击方法:

紫外线攻击也称为UV攻击方法,就是利用紫外线照射芯片,让加密的芯片变成了不加密的芯片,然后用编程器直接读出程序。这种方法适合OTP的芯片,做单片机的工程师都知道OTP的芯片只能用紫外线才可以擦除。那么要擦出加密也是需要用到紫外线。目前台湾生产的大部分OTP芯片都是可以使用这种方法解密的,感兴趣的可以试验或到去下载一些技术资料。OTP芯片的封装有陶瓷封装的一半会有石英窗口,这种事可以直接用紫外线照射的,如果是用塑料封装的,就需要先将芯片开盖,将晶圆暴露以后才可以采用紫外光照射。由于这种芯片的加密性比较差,解密基本不需要任何成本,所以市场上这种芯片解密的价格非常便宜,比如SONIX的SN8P2511解密,飞凌单片机解密等价格就非常便宜。

6、利用芯片漏洞:

很多芯片在设计的时候有加密的漏洞,这类芯片就可以利用漏洞来攻击芯片读出存储器里的代码,比如我们以前的文章里提到的利用芯片代码的漏洞,如果能找到联系的FF这样的代码就可以插入字节,来达到解密。还有的是搜索代码里是否含有某个特殊的字节,如果有这样的字节,就可以利用这个字节来将程序导出。这类芯片解密以华邦、新茂的单片为例的比较多,如W78E516解密,N79E825解密等,ATMEL的51系列的AT89C51解密是利用代码的字节漏洞来解密的。另外有的芯片具有明显的漏洞的,比如在加密后某个管脚再加电信号的时候,会使加密的芯片变成不加密的芯片,由于涉及到国内某家单片机厂家,名称就不列出来了。目前市场上能看到的芯片解密器都是利用芯片或程序的漏洞来实现解密的。不过外面能买到的解密其基本上是能解得型号很少,因为一般解密公司都不会将核心的东西对外公布或转让。而解密公司自己内部为了解密的方便,自己会使用自制的解密工具,如果致芯科技具有可以解密MS9S09AW32的解密器、能专门解密LPC2119LPC2368等ARM的解密器,使用这样的解密器解密速度快,客户到公司基本上立等可取。

7、FIB恢复加密熔丝方法:

这种方法适用于很多的具有熔丝加密的芯片,最具有代表性的芯片就是TI的MSP430解密的方法,因为MSP430加密的时候要烧熔丝,那么只要能将熔丝恢复上,那就变成了不加密的芯片了,如MSP430F1101A解密、MSP430F149解密、MSP430F425解密等。一般解密公司利用探针来实现,将熔丝位连上,也有的人因为自己没有太多的解密设备,需要交由其它半导体线路修改的公司来修改线路,一般可以使用FIB(聚焦离子束)设备来将线路连接上,或是用专用的激光修改的设备将线路恢复。这些设备目前在国内的二手设备很多,也价格很便宜,一些有实力的解密公司都配置了自己的设备。这种方法由于需要设备和耗材,不是好的方法,但是很多芯片如果没有更好的方法的时候,就需要这种方法来实现。

8、修改加密线路的方法:

目前市场上的CPLD以及DSP芯片设计复杂,加密性能要高,采用上述方法是很难做到解密的,那么就需要对芯片结构作前面的分析,然后找到加密电路,然后利用芯片线路修改的设备将芯片的线路做一些修改,让加密电路失效,让加密的DSP或CPLD变成了不加密的芯片从而可以读出代码。

如TMS320LF2407A解密,TMS320F28335、TMS320F2812解密就是采用这种方法。

最后鼓励一下想做那些做研究和学习的,希望看过这篇文章能得到帮助。

三种破解MCU 技术,就是这么简单!

MCU的安全等级正在逐步提升,一些公司甚至推出了安全主控,这是很好的现象,说明大家越来越重视嵌入式领域的信息安全和程序安全了。但对于很多特殊行业,比如消费类电子产品,低成本的通讯模块、电源控制模块等等,迫于成本压力以及更新换代速度问题,都无法使用更安全的主控MCU,有很大一部分产品甚至还在使用51单片机。

大家可能都知道破解51单片机是很容易的,但为什么容易,又是如何来破解的,可能很多人就不大清楚了,我在这里结合网上一些前辈整理的资料,和自己的经验,对MCU破解技术做个简单分析。

大家不要把解密想的很复杂,他不像研发一款产品那样,先确定客户需求或者新产品主要功能,然后立项确定技术指标,分配软硬件开发任务,基于硬件调试程序,然后验证功能,测试bug,还要做环境试验。行业里解密的方法有很多,每个人破解的思路也不一样。但是大致分为几种。

1

软件破解

利用软件破解目标单片机的方法,利用这种方法,不会对目标MCU元器件造成物理损伤。主要是对WINBONGD,SYNCMOS单片机和GAL门阵列,这种利用软件解密设备,按照一定的步骤操作,执行片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了(GAL采用逻辑猜测),就可以得到加密单片机中的程序。

2

硬件破解

流程如下:

1、测试

使用高档编程器等设备测试芯片是否正常,并把配置字保存。

2、开盖

采用手工或专用开盖设备进行开盖处理,这里说的开盖并不是说单片机或者其他MCU真有一个盖。简单解释一下,MCU其实是一个大规模集成电路,它是由N个电路组合而成的,而晶圆就是搭载集成电路的载体。将晶圆进行封装后,就形成了我们日常所用的IC芯片,封装形式可以有多种,比如TSSOP28、QFN28等,大家可以自己去百度搜索,这里不再复述。

3、做电路修改

对不同芯片,提供对应的图纸,让厂家做电路修改,目的是让MCU的存储区变得可读。有些MCU默认不允许读出Flash或者E2PROM中的数据,因为有硬件电路做保护,而一旦切断加密连线,程序就暴露可读了。如图2所示

(切割掉加密熔丝,这样就可以直接读出芯片内部程序)

4、读程序

取回修改过的MCU,直接用编程器读出程序,可以是HEX文件,或者BIN文件。

5、烧写样片给客户

按照读出的程序和配置,烧写到目标MCU中,这样就完成了MCU的破解。 至此,硬件破解法成功完成。

3

软硬兼施

采用软件和硬件结合的方法,需要对芯片的内部结构非常的熟悉。

另外还有其他一些破解技术,例如电子探测攻击、过错产生技术等等,但是最终目的只有一个,就是能够模仿出目标MCU的功能就可以了。

看到这里大家应该明白一个道理,破解MCU并不能做到把MCU中的程序原封不动的还原出来。目前的技术也做不到,至少国内应该做不到。针对以上情况,加密芯片应运而生,初期确实能很好的保护MCU的安全,但很快就被找到了漏洞。

我举个实际破解的例子分析一下,大家就能够明白了。

加密原理:

MCU和加密芯片各存储一条认证秘钥,存储同样的加密算法;

MCU产生随机数发给加密芯片,后者用秘钥加密后将密文返回,此时MCU解密后,比对明文是否和生成的随机数相等。如果相等,程序正常运行;如果不相等,出错处理。

因为盗版商没有这条秘钥,加密芯片与MCU交互的数据又是随机变化的,无法找到规律,所以只能把加密芯片的程序破解了,再复制一片加密芯片才能让MCU的程序跑起来。而加密芯片不同于通用MCU,它内部有很多安全机制,破解难度非常大。

这种加密方案看似非常安全,但其实还是有漏洞的。

破解方法:

首先按照第二种破解方法,获取到MCU的HEX文件。此处省略N步,不再复述。

使用软件进行HEX反编译,反编译软件目前有很多。

在反编译的程序中,找到对比点,比如图3所示,CJNE语句可能就是这个对比点。因此只要把箭头2那行语句删除,然后重新把汇编语言下载到MCU中,破解工作就完成了。此时即使没有加密芯片,MCU也能正常运行了。

其实原因很简单。MCU是要对加密芯片的返回值进行判断的,那么不让他做判断,这样一来不管加密芯片返回值是什么,程序都能正常运行。

因此这种加密方案很快就被破解了。当然也不是这么绝对,因为有些MCU即使剖片也不能获得里面的HEX或者BIN文件,所以这种破解方案也要看MCU的安全等级够不够高。但是足以说明一个问题,这种通过对比加密结果来实现加密的方案,安全等级还是不够高,还是有破解漏洞的。

因为篇幅有限,本期只做解密技术的简单介绍。所谓知己知彼,百战百胜,唯有了解了破解技术,才能更有效的做加密防护。下一期,我们会针对常见破解技术,重点讲解我曾经用过的国内一家公司的加密芯片产品是如何做到加密防护的。

第4届中国IOT大会不仅邀请到微软、高通、华为、Silicon Labs、周立功、和而泰高层发表主题演讲,而且成功导入以色列创新元素,现已邀请到8家以色列创新IOT技术公司CEO到深圳发表主题演讲和参加融资路演。

扫描下方二维码

立即报名第4届中国IOT大会

相关问答

单片机 如何 解密 ?

答:过程:1.单片机解密一般和硬件相关。只有少数的传统型51单片机可以直接用编程器读下来后在破解。现在很多的单片机(包括增强型51单片机)都是用物理的工艺...

单片机解密 的解密过程?

答:过程:1.单片机解密一般和硬件相关。只有少数的传统型51单片机可以直接用编程器读下来后在破解。现在很多的单片机(包括增强型51单片机)都是用物理的工艺...

请问一下, 怎样防范应对 单片机解密 ?

[回答]1、在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片,或...

哪位大神会西门子PLC的拆芯片 解密 具体步骤?

“西门子PLC的拆芯片解密”不仅需要硬件安装芯片,而且需要软件读取内容。“软硬”都需要啊。“西门子PLC的拆芯片解密”不仅需要硬件安装芯片,而且需要软件...

西门子plc受密码保护如何 解密 ?

要想解除西门子PLC密码保护,你首先要确认是否需要保留PLC里面程序,网上有些清除密码的是会把程序也清除掉的!另外不同系列不同型号处理方法也不一样!想保...

有个switch,游戏太贵值得破解吗?

怎么说呢,单为不花钱玩破解游戏,这个不是太值,但如果也冲着汉化补丁和金手指去的话,那其实还挺值的。很多人说破解了就静不下心来好好玩游戏了,这个纯是瞎...

跪求,怎样读出 单片机 加密的程序?

有些编程器可以直接读取一般的加密单片机芯片,但是OTP加密的话,一般都无能为力了。另外,解密时,有可能损坏被解密的单片机芯片。有些编程器可以直接读取一般...

芯片里的程序如何破解?

最暴力的方法,把芯片揭开,读取掩膜……最暴力的方法,把芯片揭开,读取掩膜……

你能破解喷码机芯片吗?

关于喷码机墨水芯片这个芯片的重要作用是防止喷码机墨水误用(这种情况会造成喷码机的严惩故障)另外芯片还可以防止杂牌山寨劣质墨水用在喷码机里,以造成喷码...

国内专业的芯片 解密 、IC 解密 服务-ZOL问答

芯片解密是一种通过技术手段来解除芯片内部的密钥和密码保护,以获取其内部数据的一种操作。在进行芯片解密之前,我们需要先分析芯片的结构和功能,并利用先进的...

猜你喜欢