当前位置:首页 > 冰箱 > 文章正文

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

编辑:[db:作者] 时间:2024-08-25 02:11:41

大家不要把解密想的很繁芜,他不像研发一款产品那样,先确定客户需求或者新产品紧张功能,然后立项确定技能指标,分配软硬件开拓任务,基于硬件调试程序,然后验证功能,测试bug,还要做环境试验。

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

行业里解密的方法有很多,每个人破解的思路也不一样。
但是大致分为几种。

利用软件破解目标单片机的方法,利用这种方法,不会对目标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的安全等级够不足高。
但是足以解释一个问题,这种通过比拟加密结果来实现加密的方案,安全等级还是不足高,还是有破解漏洞的。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/bx/75732.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com