跳转到主要内容

三种方法教你如何破解51单片机

demi 提交于

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

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

<strong>一、软件破解</strong>

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

<strong>二、硬件破解</strong>

流程如下:

<strong>1、测试</strong>

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

<strong> 2、开盖</strong>

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

<center><img src="http://mcu.eetrend.com/files/2019-02/wen_zhang_/100017969-61642-1.jpg&q…; alt=""></center><br>

<strong>3、做电路修改</strong>

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

<center><img src="http://mcu.eetrend.com/files/2019-02/wen_zhang_/100017969-61643-2.jpg&q…; alt=""></center><br>

<strong>4、读程序</strong>

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

<strong>5、烧写样片给客户</strong>

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

<strong>三、软硬兼施</strong>

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

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

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

来源:<a href="https://mp.weixin.qq.com/s/VHWFFitN5VKIlnuOGSwb2A">芯片解密</a&gt;