设计与开发

单片机破解 单片机芯片破解方法,凭什么单片机都可以被破解?

小编 2024-10-21 设计与开发 23 0

单片机芯片破解方法,凭什么单片机都可以被破解?

解密就是通过非正规途径获取内部内容,单片机解密则是通过非法的读取程序解开EEPROM/FLASH内部储存的程序跟工作数据。而非法读取的这个过程,我们称为单片机解密,反之则为单片机加密。

PCB复刻已经可以说是到了“炉火纯青”的地步,为了防止单片机内部编写的程序被他人非法获取,除个人使用外,大部分的单片机都进行了加密锁定或加密字节。当被加密单片机被用编辑器打时,是无法读取内部程序的。与计算机系统一样,窃取者通过特殊的设备及开发板上的漏洞跟程序BUG,从芯片中获取信息,这一过程叫单片机解密。

单片机程序解密

很多人喜欢比对计算机破解,计算机同样是通过软件或端口,通过特殊的软件及指令获取权限,植入病毒进行破解。而单片机加密解密程序分为两种:一种是硬件;另一种则是软件。硬件加密是通过单片机厂家将加密熔丝固化在IC内,如果熔丝处于加密状态,则正常工具无法读取IC内容,想要获取IC内容,就得通过硬件解密,硬件解密一般需要使用到设备,当然,本身的技术还得过硬。

单片机解密程序

从理论上来讲,所有的单片机在充足的时间利用上诉两种方法攻破。而系统设计者基于这样的情况下,需要跟电子产品工程师一样,了解目前最新的单片机破解方法,才能在最大时间点上,拖延单片机被破解的时间,否则产品一推出第二天即被山寨所困扰,会让自己花费大量时间跟经历设计出来的产品付诸东流。

单片机编程解密

也许,有的人对最新产品进行破解是用于学习,但是,这种人相当于“国宝”,并不能说没有,当却少之又少。花费那么多经历去破解一款单片机,除了对产品进行复刻,还能是什么?

在过去,因某些原因,IC锁定位在编程模式下并不会拒绝使用者对于存储器数据访问。而正式利用该BUG,攻击者通过探针放在数据线上,从而非法获取相关数据。同样,在编程模式下,重启过程并将探针继续放在其他数据线上,即可获取所有的数据。所以,技术在不断发展,加密与解密同样一路你追我赶。

PS:设备IC解密过程如果烧断数据脚、漏酸及通过编程修改电路,最终都可能造成IC解密失败。

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

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

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

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

流程如下:

1、测试

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

2、开盖

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

3、做电路修改

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

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

4、读程序

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

5、烧写样片给客户

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

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

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

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

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

加密原理:

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

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

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

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

破解方法:

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

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

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

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

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

相关问答

单片机 解密价格为什么差别很大?

单片机解密价格只是相差很大,有的很便宜,有的很贵,有的芯片只需要几百块钱,而有些就需要几万甚至十几万,首先,单片机解密的价格和研发费用是挂钩的,方案花...

如何将stc15w404asIC内程序读出?

stc15w404as是用STC专用的烧录软件stc-isp烧录程序的,就是只能烧录程序,却不能读取程序的。目前也没有第三方的读取程序的软件。而且,STC官方声明,目前STC15...

请简述解密的过程?

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

芯片解密的用途有哪些?

公司多年来致力于芯片的开发设计,在芯片解密领域上主攻单片机解密(MCU解密)、专用IC解密、芯片解密、PLD芯片解密、CPLD芯片解密、FPGA解密、DSP芯片解密、AR...

单片机 加密可以复制吗?

现在单片机都是加密的,对于正规的产品所用的单片机肯定是加密的,而且加密级别也比较高,难于破解。所以,要读取单片机里的程序,首先必须要解密才行。解密后读...

单片机 怎么去读取它内部的数据?

单片机有自身的程序,在程序控制下工作,它读取外部的数据或状态(输入),经过内部运算后,再输出到外部去显示或控制电子设备的开关,内部数据你是看不到的。...单...

单机游戏需要注册码怎么 破解 ?

于是当这个BUG被公开之后,旧版的GTA盘片价格暴涨,到了一卡难求的地步。PSP的电池破解往电池的控制芯片里写入特殊的数据,在开机的时候完成破解。果然是漏洞...

五星宏辉扑克机 破解

[回答]有一种可能,那就是程序员故意制造的。这要从机台的制造说起。有实力的公司会聘请多名程序员,耗资巨大,开发出最新的产品,但上市没多久,就...这要从...

单片机 按键怎么消抖-ZOL问答

按键消除抖动用硬件的方法是单稳态电路,或者采用专用芯片,而单片机本身是智能芯片,用软件消除抖动是最佳选择,这样性价比高,可靠性也高,多用一个器件就多一份成...

palce16v8h是什么芯片?

PIC16F1847是一个8位微控制器,可容纳一宽电源,低功耗电压范围。该指令集是完全的PIC16F1847与标准8051兼容。该PIC16F1847包含4K字节ROM的中期计划(多时间可编...

猜你喜欢