12722|15

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32防破解 [复制链接]

 
本人之前是做软加密破解的,后来良心发现,自觉做我们这行窃取他人劳动成果,和做贼没有区别,所以果断转行了,首选声明我绝不是高手,只是想将我做破解的时候的一些经验和大家分享,以便各位兄弟在做产品的时候重视加密,不要让别人轻而易举就窃取了您的劳动成果,
       STM32系列从问世以来就以优异的性能和便宜的价格深得人心,但是不幸的是树大招风,问世不就久就被解密公司破了,从12年的12万的解密价格,到13年的6万,14年一万,再到现在的五千,相信不用两年就会像51一样沦为几百块的白菜价,所以软加密对未来的STM32的工程师来说异常重要,以下正式对各种方式的软加密和破解方法做一个总结,以便各位朋友在日后设计软加密的时候不要给破解的人留下漏洞
1.最简单的软加密不用反汇编,直接在机器码中就可以先到FF1FE8F7,因为STM32机器码是小端格式,这个地址实际就是芯片ID地址,破解的人只需要在程序中找到一块空白的位置,然后将解密的那个芯片的ID复制到这里,再将程序中出现的那个1FFFF7E8改为存放母片的那个ID就破解了,这种方法和你程序采用的什么算法加密毫无关系,防破解处理方法是在程序加密的时候不要直接读芯片ID,应采用几个变量运算合成ID地址再间接的去读,注意不能用立即数合成,因为那样编译器还是会给你优化成一个立即数的。
2.就算在程序中找不到明显的读ID指令也是可以破解的,方法就是仿真跟踪,仿真跟踪前需要反汇编,THUMB2的文档中每条指令生成的机器码有详细的说明,随便都可以找个做上位机的写个自动反汇编工具,之后再人工修改下就可以了,其实还有一种更简单的方法,就是将机器码定义成DCI XXXXH这样的格式,导入KEIL编译能通过,然后仿真,KEIL会自动的帮你反汇编,接下来就是单步执行,延时类函数跳过,这时候要密切注视R0到R15,不管你用什么方法得到的ID地址,最终一定会出现再这几个寄存器中,防破解的方法一个是检验ID号的时候不要在开机就检验,要在特定的硬件条件下才检验ID,然后如果不合法程序就自毁,这样就只能通过JTAG硬件仿真了。所以产品上市的时候切记将其它IO口转到JTAG口,这样就占用了JTAG,仿真就不行了
3.是不是这样就安全了?不是的,你可以禁用JTAG,人家同样可以修改指令开启JTAG,最好的方式是在程序关键的代码块做CRC检验,这样只要关键指令被修改过,就可以发现,剩下的自己看着办……
4.其实没有破不了的软加密,只是一个时间和成本的问题,但是也不能让人家那么轻易的就破解了,除了上面的防破解的方法之外还可以在程序中特定条件下做多次检验,检验的时候不要用简单的判断真假跳转,应该用检验的结果做程序下一步执行的参数,这样别人破出来的产品原以为没问题了,但是用起来不稳定,或者性能差,或者老死机等。除了这些还可以外挂加密芯片,以增加破解的成本,更多防破解的方法欢迎加我QQ254915501讨论

最新回复

现在stm32f103破解出程序只要1000块,如果用id做软件加密,id地址直接出现的,只要500就可以改软件加密   详情 回复 发表于 2020-6-29 08:37
点赞 关注(3)

回复
举报

9797

帖子

24

TA的资源

版主

沙发
 
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

4
 
 
 
 

回复

164

帖子

0

TA的资源

一粒金砂(中级)

5
 
强大的很
 
个人签名专业电子方案/zigbee方案设计,毕业设计。QQ:1397905781
 
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

6
 
受教了!再请教楼主:类似于STM8S的“Read-out protection enabled”怎么破?
 
 
 

回复

2167

帖子

8

TA的资源

五彩晶圆(初级)

7
 
学习了,之前也看见过一篇。在合理的成本范围增加破解成本是王道。用几款鬼都不知道的冷门器件,破解起来,呵呵。或者能找到原厂,可以做一些定制封装,不同于其他的,表面打一些鬼也不清楚的字,让他们猜去吧。

点评

嗯,的确是不错的办法。没用过这么高端的方法,一般就把重要的芯片磨字。  详情 回复 发表于 2015-9-30 22:34
 
个人签名坐而言不如起而行
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

8
 
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

9
 
没搞过,云里雾里的感觉
 
 
 

回复

1301

帖子

0

TA的资源

纯净的硅(中级)

10
 
代码如何获得?
 
个人签名

 

 

 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

11
 
wsmysyn 发表于 2015-9-30 12:55
学习了,之前也看见过一篇。在合理的成本范围增加破解成本是王道。用几款鬼都不知道的冷门器件, ...

嗯,的确是不错的办法。没用过这么高端的方法,一般就把重要的芯片磨字。

点评

原厂可以卖裸片的话,从原厂买裸片die,根据自己的需求用到哪些脚位就把哪些脚位封装出来,可以搞那种COB封装,或者普通的封装,买裸片比买成品便宜许多。即使自己封装也要不了几个钱,如果量大的话。 还有一种封  详情 回复 发表于 2015-10-1 12:15
 
 
 

回复

2167

帖子

8

TA的资源

五彩晶圆(初级)

12
 
ienglgge 发表于 2015-9-30 22:34
嗯,的确是不错的办法。没用过这么高端的方法,一般就把重要的芯片磨字。

原厂可以卖裸片的话,从原厂买裸片die,根据自己的需求用到哪些脚位就把哪些脚位封装出来,可以搞那种COB封装,或者普通的封装,买裸片比买成品便宜许多。即使自己封装也要不了几个钱,如果量大的话。

还有一种封装技术叫双die封装。成本可能高一点,就是把2颗die封到同一个封装体内,两颗die需要连线的部分直接在芯片里面连接了,想要把哪些留出来就把哪些就留出来。这样别人就更不知道是个啥了?

曾经有人想买我们的裸片和他们自己的裸片做双die封装,才知道,还可以这么干的。
 
个人签名坐而言不如起而行
 
 

回复

158

帖子

0

TA的资源

一粒金砂(高级)

13
 
谢谢楼主的心得体会!

有没兴趣加入我们公司?

同时欢迎这里推荐或自荐的朋友。

我们在招单片机开发工程师,嵌入式硬件工程师。

嵌入式硬件工程师
任职资格:
1. 电子、自动化、通信及其相关专业,本科及以上学历,两年以上相关工作经验。
2. 能够编写嵌入式系统方案,熟悉嵌入式系统架构;
3. 熟练使用51系列、ARM系列、DSP等的应用与开发;
4. 熟悉电子电路的原理设计、PCB设计
5. 具有一定的汇编、C语言编程能力;
6. 学习能力较强、勤奋,具备团队合作精神及良好的敬业精神

单片机开发工程师

1. 电子类及其相关专业,本科及以上学历,三年以上相关工作经验;
2. 熟练使用51系列、ARM系列单片机的应用与开发;
3. 熟悉电子电路的原理设计、PCB设计;
4. 具有一定的汇编、C语言编程能力;
5. 学习能力较强、勤奋,具备团队合作精神及良好的敬业精神。

本公司福利待遇优厚,为员工购买社保,提供免费工作餐及宿舍,五天八小时工作制。
电话:020-34693082转0
地址:广州市番禺区南村镇江南工业二区二横路4号

广州市汇研微电子技术有限公司

邮箱:focusbanker@aliyun.com
 
 
 

回复

109

帖子

0

TA的资源

一粒金砂(中级)

14
 
请教一下楼主。网上有种说法,STM32的唯一ID是可以修改的,这是真的吗?
 
 
 

回复

2774

帖子

8

TA的资源

版主

15
 
防破解最好的办法就是学POS机,先用硬件防拆机,把软件都放在外接的RAM里面,拆机就断电清除RAM,另外把所有的IO都指向到CPLD,由CPLD处理后输出,这样,无论是破解单片机还是CPLD,都有一定的难度,联合起来破解就是难上加难了!
 
 
 

回复

32

帖子

0

TA的资源

一粒金砂(中级)

16
 

现在stm32f103破解出程序只要1000块,如果用id做软件加密,id地址直接出现的,只要500就可以改软件加密

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表