• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32想要加密防破解该怎么做

洛克人zxa 2020-11-03 浏览量:6324

stm32想要加密防破解该怎么做

需要考虑到加密问题了

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 有两种方式:
    1、你在通过Jlink下载程序的时候勾选 Secure Chip,这个功能就限制了别人从你的单片机读取执行代码。
    2、每个单片机的固件需要根据单片机内部的UID(唯一编号)进行计算,核验通过了,那就执行代码。核验不通过,那就让他死机吧。这样,即使别人读了你的固件,放在他的单片机也执行不了
    • 发布于 2020-11-04
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 可以打开加密位,这样别人就没法简单读出你的固件了

    再要好点,可以用唯一ID加密,不过这样你生产也就麻烦了

    再要好点,可以弄个服务器做验证

    • 发布于2020-11-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 本身STM的开发机制中有相应的考虑,主要就是防止程序数据的再次读取,此外还可以结合唯一ID进行一定的认证处理。

    不过需要了解的是 有些加密过程会影响(占用) 有效资源,需要综合考虑均衡来选择。

    • 发布于2020-11-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以加一片真随机数据芯片,根据芯片唯一的ID计算后进行加密。

    在硬件上加上防打开开关,一打开就自动清楚片上程序,前提是要一直有电。

    • 发布于2020-11-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用IAP和APP的方式,然后APP使用AES加密,IAP在启动过程对它解密
    • 发布于2020-11-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可

     

    2,利用板子上按键组合,或是上电按住某些键,程序在这个时候利用算法把id计算得到一些值存入程序区(stm8为EE区),程序运行时去验证程序区数据是否正确

     

    3,轩微编程器有软件加密的功能,编程器会读芯片id,根据算法直接改写缓冲区,达到软件加密的作用

     

    4,读出的id通过一定算法,例如异或加上一个数,得到的数据存入flash(只运行一次,运行后标志位也存入flash)下次读到这个标志位,就不运行这个程序。

     

    四、做软件加密时注意

    1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0   STM8: 0x4865~0x4870

    2 利用校验和或是crc对程序区进行校验,防止改程序

    • 发布于2021-10-20
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32想要加密防破解该怎么做