发新帖我要提问
12
返回列表
打印

STM32加密防** 求高手支招

[复制链接]
楼主: yang4469
手机看帖
扫描二维码
随时随地手机跟帖
21
yang4469|  楼主 | 2013-11-25 10:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
dirtwillfly 发表于 2013-11-24 16:38
有些产品没必要加密的

只是想尽量做到更好而已,如果人家简单的拷出bin文件就运行了,感觉也太伤了

使用特权

评论回复
22
dirtwillfly| | 2013-11-25 12:22 | 只看该作者
yang4469 发表于 2013-11-25 10:16
只是想尽量做到更好而已,如果人家简单的拷出bin文件就运行了,感觉也太伤了 ...

恩恩,是哦。一般情况还是需要采取一些加密措施的

使用特权

评论回复
23
yang4469|  楼主 | 2013-11-25 16:13 | 只看该作者
ljxh401 发表于 2013-11-24 17:28
利用唯一id 根本不会影响批量生产

您能说的具体一点吗?

使用特权

评论回复
24
ljxh401| | 2013-11-26 10:12 | 只看该作者
第一次上电
利用 stm 的 自编程 将id 加密 写在 rom 的某一个地方
用户代码再自我校验

使用特权

评论回复
25
dsyq| | 2019-5-26 14:32 | 只看该作者
学习

使用特权

评论回复
26
meijc119| | 2020-5-19 19:33 | 只看该作者
如果读id直接出现id地址,编译后烧写文件找到1ffff7e8改成0x800f000,再在0x800f000里面填 上母片的id,程序就被**了

使用特权

评论回复
27
gxs64| | 2020-5-19 20:17 | 只看该作者
加密芯片DX81应用

加密芯片DX81应用.rar

463.69 KB

使用特权

评论回复
28
meijc119| | 2020-8-10 14:05 | 只看该作者
三、利用id做软件加密
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外部存储器,然后再烧写真正的程序,真正的程序去校验外部存储器的数据是否合法即可

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

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

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

四、做软件加密时注意
1,不要在程序中直接出现id地址,例如STM32:1FFFF7E8 1FFFF7EC 1FFFF7F0   STM8: 0x4865~0x4870
2, 利用校验和或是crc对程序区进行校验,防止改程序

使用特权

评论回复
29
meijc119| | 2020-8-28 14:23 | 只看该作者
象这么直接出现id地址1ffff7e8,如果做成id软件加密,改这种软件加密,只要几百块钱,象1ffff7e8这种id地址最好计算得出来,不然太好破了,完全没意义的软件加密

使用特权

评论回复
30
爱情海玩偶| | 2020-8-28 15:25 | 只看该作者
所以怎么**stm32

使用特权

评论回复
31
jrcsh| | 2020-8-31 02:32 | 只看该作者
  把校验和算法关联起来~~~~~  让你们改个毛

使用特权

评论回复
32
01dxwlm| | 2020-8-31 16:47 | 只看该作者
这个我还是比较有经验,这几个月也专门在搞逆向,要想不被**基本很难。

使用特权

评论回复
33
ipman| | 2020-9-1 23:53 | 只看该作者
首先,我是不会费太大精力防解密的,其次STM32的uid根本不影响生产,合理用好这个uid就够解密的喝一壶了。

使用特权

评论回复
34
siguoc| | 2020-9-7 13:01 | 只看该作者
kseeker 发表于 2013-11-24 12:21
关于第2点,处理好了不影响批量生产:
将程序分成3部分:1,bootloader.2,应用程序.3, 激活程序。批量生产 ...

非常棒的做法,谢谢分享

使用特权

评论回复
35
siguoc| | 2020-9-7 13:35 | 只看该作者
meijc119 发表于 2020-8-10 14:05
三、利用id做软件加密
1,如果板子上有外部存储器,可以先编写一个程序,利用算法把id计算得到一些值存入外 ...

厉害

使用特权

评论回复
36
meijc119| | 2020-9-9 11:04 | 只看该作者
1、读出完整程序段,搜索关键字节“E8F7FF 1F”,因为STM32唯一
的96位(12字节) ID基地址位于0x1FFF7E8, 若程序段中涉及ID
校验必然会读取芯片中ID索引该地址。。
2、用工具读取此芯片该地址的96位(12字节) ID 码,找到空片区
写入此地址,更改索引地址:例如此芯片ID码为“34 FF DA 05 4E50 38
31 19 65 18 43”选取起始地址区域0x80000020,在前四个字节输入"34
FF 1843",后12字节输入“34 FF DA 05 4E 50 38 31 19 65 18 43”,芯片
中索引的“E8F7FF1F” 均改成“20000008”
程序里面不要直接出现id地址,1FFFF7E8 1FFFF7EC 1FFFF7F0,不然很容易被**

使用特权

评论回复
37
woshigeshuai| | 2020-9-16 21:43 | 只看该作者
STM32 程序  什么ID加密,**不麻烦。我轻轻松松就搞定 不信找我试试 Q95642217

使用特权

评论回复
38
meijc119| | 2021-10-20 15:31 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则