0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

GReq_mcu168 来源:未知 作者:佚名 2017-11-26 09:03 次阅读

大家可能都知道破解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,它内部有很多安全机制,破解难度非常大。

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

破解方法:

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

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

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

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

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

因为篇幅有限,本期只做解密技术的简单介绍。所谓知己知彼,百战百胜,唯有了解了破解技术,才能更有效的做加密防护。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    145

    文章

    15989

    浏览量

    343342
  • 51单片机
    +关注

    关注

    269

    文章

    5648

    浏览量

    120644

原文标题:三种破解MCU 技术,就是这么简单!

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三菱M70 PLC增加注解的三种方法简析

    三菱M70 PLC增加注解的三种方法
    的头像 发表于 02-26 09:59 191次阅读
    三菱M70 PLC增加注解的<b class='flag-5'>三种方法</b>简析

    传统激光功率衰减的三种方法

    传统激光功率衰减通常使用以下三种方法,分别为中性密度衰减片衰减法、偏振衰减法、镀膜光学镜片衰减法。
    的头像 发表于 01-20 10:42 514次阅读
    传统激光功率衰减的<b class='flag-5'>三种方法</b>

    stm32和51单片机的区别

    stm32和51单片机的区别 随着单片机的发展,市场上出现了很多种类和品牌的单片机,其中STM32和51
    发表于 11-20 13:18

    修复锂电池的三种方法

    电子发烧友网站提供《修复锂电池的三种方法.doc》资料免费下载
    发表于 11-15 10:40 0次下载
    修复锂电池的<b class='flag-5'>三种方法</b>

    单片机IO口扩展有哪几种方法

    单片机IO口扩展有哪几种方法
    发表于 11-01 07:47

    单片机软件滤波的几种方法

    电子发烧友网站提供《单片机软件滤波的几种方法.pdf》资料免费下载
    发表于 10-20 15:09 2次下载
    <b class='flag-5'>单片机</b>软件滤波的几<b class='flag-5'>种方法</b>

    请问如何用单片机极管出现三种不同的电平状态?

    如何用单片机极管出现三种不同的电平状态?
    发表于 10-10 06:56

    一篇文章教你看懂嵌入式、单片机、STM32

    一篇文章教你看懂嵌入式、单片机、STM32
    的头像 发表于 09-27 16:04 636次阅读
    一篇文章<b class='flag-5'>教你</b>看懂嵌入式、<b class='flag-5'>单片机</b>、STM32

    51单片机DIY音乐频谱显示

    该资源是手把手教你51单片机DIY音乐频谱显示
    发表于 09-27 07:42

    三种方法实现串口接收不定长度的数据

    下面三种方式都亲测可用,实际使用时应采用第三种方法,更有效率。
    的头像 发表于 09-14 16:16 4235次阅读
    <b class='flag-5'>三种方法</b>实现串口接收不定长度的数据

    51单片机烧写程序的方法

    STC89C51是应用广泛的51单片机,很多人都是通过该单片机入门学习的,单片机的学习需要勤动手。单片机
    的头像 发表于 09-11 10:10 3432次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>烧写程序的<b class='flag-5'>方法</b>

    pwm产生的三种方法

    pwm产生的三种方法 PWM(Pulse Width Modulation)是一种常用的控制技术,可以通过调节开关管的通断时间,通过改变输出波形的占空比来实现对电路的控制。在现代工业控制中,PWM
    的头像 发表于 09-02 10:25 5812次阅读

    噪声系数测量的三种方法

    本文介绍了测量噪声系数的三种方法:增益法、Y系数法和噪声系数测试仪法。这三种方法的比较以表格的形式给出。
    的头像 发表于 05-18 11:02 865次阅读
    噪声系数测量的<b class='flag-5'>三种方法</b>

    有没有一种方法可以发送和接收不会阻塞的Http数据单片机

    状态,是否需要重新启动,或者是否有新的固件更新,或者其他。这一切都按预期工作,并按照我的期望进行操作。我遇到的问题是,每当节点需要将该 ping 发送到服务器时,LED 字符串会短暂冻结(大约一秒钟)。所以我的问题是,有没有一种方法可以发送和接收不会阻塞的 Http 数据单片机
    发表于 05-15 07:40

    51单片机计时器#单片机

    单片机51单片机
    jf_51133201
    发布于 :2023年04月28日 22:26:24