搜索
bottom↓
回复: 37

程序代码放在MCU外挂的nor flash上,如何防止别人破解啊?

[复制链接]

出0入32汤圆

发表于 2021-10-24 19:48:18 | 显示全部楼层 |阅读模式
https://www.amobbs.com/thread-5671385-1-1.html

这篇文章里面有提到aes,MCU确实是有aes功能,但具体怎么用呢?

有什么经典的保护方案或者参考例程吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2021-10-24 20:19:47 | 显示全部楼层
现在很多nor flash都有UID和OTP区,可以利用来加密

出0入17汤圆

发表于 2021-10-24 20:27:19 | 显示全部楼层
本帖最后由 hhxb 于 2021-10-24 20:48 编辑

有什么经典的保护方案或者参考例程吗?

电路板里面放10个软包锂电池加一个光线传感器,拆机后 光线传感器 检测到光线,短路电池   原地爆炸自毁

出0入32汤圆

 楼主| 发表于 2021-10-24 20:35:05 | 显示全部楼层
mtlsh 发表于 2021-10-24 20:19
现在很多nor flash都有UID和OTP区,可以利用来加密

这两个很弱的,nor flash厂家,自己都说没啥用。

出0入442汤圆

发表于 2021-10-24 21:37:01 来自手机 | 显示全部楼层
2020echo 发表于 2021-10-24 20:35
这两个很弱的,nor flash厂家,自己都说没啥用。

uid还是可以的吧。只要厂商不泄漏烧写工具,算法不泄漏,就还好。。。但是程序里面使用的算法在nor上面可以直接读到的话就不好说了。

出40入0汤圆

发表于 2021-10-25 07:25:08 来自手机 | 显示全部楼层
解密到内存运行

出0入0汤圆

发表于 2021-10-25 08:47:31 | 显示全部楼层
写个boot ,烧写程序的时候,通过boot配合上位机写入加密后的程序 ,可以做到每个单片机程序都不同
运行的时候解密单片机程序到内存中,如果不是频繁开关机的  也可以解压到指定flash中,最后跳转运行
有些单片机本身内置了上面类似功能

出100入113汤圆

发表于 2021-10-25 09:46:42 | 显示全部楼层
如果是放在外部 FLASH ,Memory Map 方式读取FLASH,直接在外部 FLASH 运行,这个要看芯片支持的加密方式。
如果是通过Boot加载到内部 RAM 运行,Boot 程序可以自己实现自定义的加密算法。

出0入0汤圆

发表于 2021-10-25 11:59:59 | 显示全部楼层
感觉通用单片机  对破解来说 无非是三千跟五千或者多两三千的区别

出30入16汤圆

发表于 2021-10-25 12:18:11 来自手机 | 显示全部楼层
nds_shenzhen 发表于 2021-10-25 11:59
感觉通用单片机  对破解来说 无非是三千跟五千或者多两三千的区别
...

你高看搞破解的了。
就算破解,也不一定能用的起来。

出0入0汤圆

发表于 2021-10-25 13:46:25 | 显示全部楼层
我们会做防拆保护,主板绕线,盖板绕线保护,硬件物理形成保护区

出145入215汤圆

发表于 2021-10-25 13:48:57 来自手机 | 显示全部楼层
外置加密芯片,同时对电路用fpga加密

出0入0汤圆

发表于 2021-10-25 14:21:08 | 显示全部楼层
洞洞幺 发表于 2021-10-25 12:18
你高看搞破解的了。
就算破解,也不一定能用的起来。

好像他们会反汇编,通过修改跳转地址,让程序正常运行

出0入8汤圆

发表于 2021-10-25 15:17:36 | 显示全部楼层
我是不是可以怀疑,破解技术都是芯片厂家的工程师做的.所以国内的芯片靠不住,因为没有底线

出0入16汤圆

发表于 2021-10-25 15:33:13 | 显示全部楼层
做个算法重映射物理地址和逻辑地址,AES运算量挺大的

出0入17汤圆

发表于 2021-10-25 15:40:04 | 显示全部楼层
1. 自制烧写工具,根据芯片ID,每个芯片生产不同的已加密二进制文件,烧写到flash
2. MCU上,从flash读取数据,解密加载到内存运行

出75入88汤圆

发表于 2021-10-25 21:09:57 | 显示全部楼层
lusir 发表于 2021-10-25 13:46
我们会做防拆保护,主板绕线,盖板绕线保护,硬件物理形成保护区

X光下面啥保护都失效

出0入0汤圆

发表于 2021-10-26 09:56:07 | 显示全部楼层
wye11083 发表于 2021-10-24 21:37
uid还是可以的吧。只要厂商不泄漏烧写工具,算法不泄漏,就还好。。。但是程序里面使用的算法在nor上面可 ...

UID有烧写工具吗?

出0入442汤圆

发表于 2021-10-26 10:37:00 | 显示全部楼层
think_a_second 发表于 2021-10-25 15:40
1. 自制烧写工具,根据芯片ID,每个芯片生产不同的已加密二进制文件,烧写到flash
2. MCU上,从flash读取数 ...

绝大多数MCU都没戏,除非有几百KB的SRAM可以挥霍。。

出0入442汤圆

发表于 2021-10-26 10:37:23 | 显示全部楼层

工厂肯定有,就看工厂的人品了。

出0入1209汤圆

发表于 2021-10-26 10:46:18 | 显示全部楼层
sandoz1cn 发表于 2021-10-25 15:17
我是不是可以怀疑,破解技术都是芯片厂家的工程师做的.所以国内的芯片靠不住,因为没有底线 ...

AVR/ST之类的国外大厂不也可以轻松破解么,跟厂家关系不大的,搞芯片破解的高人还是很多的。

出0入0汤圆

发表于 2021-10-26 11:05:32 | 显示全部楼层
wye11083 发表于 2021-10-26 10:37
工厂肯定有,就看工厂的人品了。

我真想要一个华邦的

出700入127汤圆

发表于 2021-10-26 11:07:13 | 显示全部楼层
本帖最后由 Aper-2020 于 2021-10-26 11:14 编辑
think_a_second 发表于 2021-10-25 15:40
1. 自制烧写工具,根据芯片ID,每个芯片生产不同的已加密二进制文件,烧写到flash
2. MCU上,从flash读取数 ...


你这个思路跟我不谋而合了,正准备有空自己做一套这种工具,各种单片机都不怕破解了。

先烧录一个读取芯片ID和主板硬件指纹的程序到芯片,芯片返回这些数据到专用烧录工具。  烧录工具再根据这些数据自动生成不同的加密二进制文件,并再烧到芯片。   启动后芯片是解密到RAM运行

各坛友看一下上面这流程有什么缺点不?  

出0入0汤圆

发表于 2021-10-26 11:10:26 | 显示全部楼层
楼主是提问宝宝。。。

出30入16汤圆

发表于 2021-10-26 11:22:48 来自手机 | 显示全部楼层
本帖最后由 洞洞幺 于 2021-10-26 11:27 编辑
kitten 发表于 2021-10-26 10:46
AVR/ST之类的国外大厂不也可以轻松破解么,跟厂家关系不大的,搞芯片破解的高人还是很多的。 ...


你说的都是特别容易解的单片机,你拿英飞凌,瑞萨或飞思卡尔的arm芯片给他试试。那是以万为单位,还很有可能解不出来,就算解出来了也不一定能用,你敢拿10几万赌一把吗?而且他解不出来还故意破坏你的母片,让别家也搞不成,怕不怕?

再说了,就算给了你bin文件,小的好说,大的不是谁都能有耐心搞得定的,看不看得懂都是问题。

stm32就算id加密也没卵用。
把代码加密放flash,用时解密到ram执行只是增加点麻烦,有了完整的bin文件,他可以自己搞出来呀。

出0入442汤圆

发表于 2021-10-26 12:03:14 来自手机 | 显示全部楼层
洞洞幺 发表于 2021-10-26 11:22
你说的都是特别容易解的单片机,你拿英飞凌,瑞萨或飞思卡尔的arm芯片给他试试。那是以万为单位,还很有 ...

除非bootloader做个类似于secure boot的功能,多重校验,不是出厂程序禁止执行,这样就没办法读出来bootloader了。然而还是那句话,全凭厂家人品。

出0入32汤圆

 楼主| 发表于 2021-10-26 12:04:14 | 显示全部楼层
初音之恋 发表于 2021-10-25 15:33
做个算法重映射物理地址和逻辑地址,AES运算量挺大的

做个算法重映射物理地址和逻辑地址。。。请问,有没有具体的操作例程啊?

出0入32汤圆

 楼主| 发表于 2021-10-26 12:04:35 | 显示全部楼层
think_a_second 发表于 2021-10-25 15:40
1. 自制烧写工具,根据芯片ID,每个芯片生产不同的已加密二进制文件,烧写到flash
2. MCU上,从flash读取数 ...

有开源的烧写工具吗?

出0入1209汤圆

发表于 2021-10-26 13:46:40 | 显示全部楼层
洞洞幺 发表于 2021-10-26 11:22
你说的都是特别容易解的单片机,你拿英飞凌,瑞萨或飞思卡尔的arm芯片给他试试。那是以万为单位,还很有 ...

根本原因在于用户量,ST解密天天干,你说那几个一年遇不到几个,你说咋收费?英飞凌,瑞萨或飞思卡尔如果跟ST一样遍地开花,照样几千块钱搞定。

出0入17汤圆

发表于 2021-10-26 16:32:09 | 显示全部楼层
2020echo 发表于 2021-10-26 12:04
有开源的烧写工具吗?


脱机烧写的有openocd,用单片机做。
电脑端的有Python+JLinkARM.dll + Jlink仿真器,站内有资源

出0入17汤圆

发表于 2021-10-26 16:53:47 | 显示全部楼层
Aper-2020 发表于 2021-10-26 11:07
你这个思路跟我不谋而合了,正准备有空自己做一套这种工具,各种单片机都不怕破解了。

先烧录一个读取芯 ...

大体流程是这样。重点是自己运行时解密和校验。对关键参数校验,可以自制运算符, 可以地址映射,可以序列表中动态选取一组再运算。校验ID的接口也要隐藏起来,加干扰代码。

出30入16汤圆

发表于 2021-10-27 08:38:53 来自手机 | 显示全部楼层
本帖最后由 洞洞幺 于 2021-10-27 08:44 编辑
kitten 发表于 2021-10-26 13:46
根本原因在于用户量,ST解密天天干,你说那几个一年遇不到几个,你说咋收费?英飞凌,瑞萨或飞思卡尔如果 ...


你真的和他们打过交道吗?

出0入1209汤圆

发表于 2021-10-27 09:39:57 | 显示全部楼层
洞洞幺 发表于 2021-10-27 08:38
你真的和他们打过交道吗?

ST解密也不是一下子就到了几千的水平。

出0入30汤圆

发表于 2021-10-27 10:55:55 | 显示全部楼层
kitten 发表于 2021-10-26 13:46
根本原因在于用户量,ST解密天天干,你说那几个一年遇不到几个,你说咋收费?英飞凌,瑞萨或飞思卡尔如果 ...

瑞萨ARM核,听说写入时就没有读核校对的命令,
并且里面的flash有硬件加密电路,
各位网友,有对瑞萨ARM核MCU了解的吗?愿闻其详,

出10入95汤圆

发表于 2022-9-16 17:06:04 | 显示全部楼层
4058665 发表于 2021-10-25 08:47
写个boot ,烧写程序的时候,通过boot配合上位机写入加密后的程序 ,可以做到每个单片机程序都不同
运行的 ...
(引用自7楼)

这个boot也在外面, 密钥也在外面, 简单防一下?

出10入95汤圆

发表于 前天 10:50 来自手机 | 显示全部楼层
think_a_second 发表于 2021-10-26 16:53
大体流程是这样。重点是自己运行时解密和校验。对关键参数校验,可以自制运算符, 可以地址映射,可以序 ...
(引用自31楼)

因为有的MCU没有片内Flash, 您说的所有这些动作程序都在外挂flash里面,那么读出来了,通过反汇编→反C,也能找到这些方法呀,还是防不住啊

出0入300汤圆

发表于 前天 11:09 来自手机 | 显示全部楼层
hhxb 发表于 2021-10-24 20:27
有什么经典的保护方案或者参考例程吗?

电路板里面放10个软包锂电池加一个光线传感器,拆机后 光线传感器  ...

(引用自3楼)

直接将黑索金裹在雷管上炸的也不彻底,不如加高压直接烧毁主芯片

出0入30汤圆

发表于 前天 11:14 | 显示全部楼层
ESP32程序可以外挂flash里面 , 并且MCU有加密功能 , 听说还破解不了 ,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 01:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表