STM32破解的过程中常见的几个问题

描述

STM32系列单片机都有全球唯一的ID号,很多设计开发者,在开发的过程中,会嵌入ID绑定验证代码,也就是所说的软加密。

STM32系列逆向分析

STM32系列单片机在破解的过程中常见的几个问题。

1

通常我们在破解STM32过程中,如果原开发者没有嵌入软加密,那我们只需对芯片进行开片,去除加密锁,然后通过编程器直接读取,读取的BIN文件或HEX文件,完全可以正常使用。

2

在去除加密锁后,提取的程序代码无法工作,存在软加密,很多软加密是通过烧录器选项来绑定ID的,这样的软加密比较简单,通常很快就能搞定。

3

程序内部复杂的软加密,这样的情况也是很常见的,解密完后,检查没有发现ID绑定想象,但烧录新的单片机是无法工作的,这样的就是程序设计者在程序内部深层做了软加密绑定,如遇到这样情况,就需要仔细分析代码,找对绑定的位置,从而去除。去除之后完全可以使用。

4

升级绑定类的,有部分STM32系列芯片,解密完后,发现完全可以正常使用,客户也觉得解密成功,但在使用一段时间后,如遇到版本升级,会发现单片机无法正常工作,这样的情况就是在程序内有嵌入了升级验证绑定,很多做的都非常负责,我们在破解的过程中也需要花费大量的精力,最终还是可以搞定的。

总结,针对STM32软加密情况,不管设计者做多复杂,多深层的软加密,我们都可以成功破解。在STM32系列上,我们可以做到从BIN文件逆向到汇编语言,也可以伪C代码,这样我们可以清楚的看到整个程序的算法及定义,这样从根本上就可以解决任何软加密选项。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
jf_76280065 2022-09-16
0 回复 举报
怎么联系你? 收起回复
meifan2010 2022-06-21
0 回复 举报
volatile u32 Addr; Addr=0x20000006;    //让逆向的人误以为是ram变量  Addr-=0x800;   Addr-=0x1e;         //addr等于id的基地址0x1ffff7e8 p[0] = *(vu32*)(Addr); p[1] = *(vu32*)(Addr+4); p[2] = *(vu32*)(Addr+8); 这样读id也比较好(q5225016) 收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分