STM32系列单片机都有全球唯一的ID号,很多设计开发者,在开发的过程中,会嵌入ID绑定验证代码,也就是所说的软加密。
STM32系列
逆向分析
STM32系列单片机在破解的过程中常见的几个问题。
1
通常我们在破解STM32过程中,如果原开发者没有嵌入软加密,那我们只需对芯片进行开片,去除加密锁,然后通过编程器直接读取,读取的BIN文件或HEX文件,完全可以正常使用。
2
在去除加密锁后,提取的程序代码无法工作,存在软加密,很多软加密是通过烧录器选项来绑定ID的,这样的软加密比较简单,通常很快就能搞定。
3
程序内部复杂的软加密,这样的情况也是很常见的,解密完后,检查没有发现ID绑定想象,但烧录新的单片机是无法工作的,这样的就是程序设计者在程序内部深层做了软加密绑定,如遇到这样情况,就需要仔细分析代码,找对绑定的位置,从而去除。去除之后完全可以使用。
4
升级绑定类的,有部分STM32系列芯片,解密完后,发现完全可以正常使用,客户也觉得解密成功,但在使用一段时间后,如遇到版本升级,会发现单片机无法正常工作,这样的情况就是在程序内有嵌入了升级验证绑定,很多做的都非常负责,我们在破解的过程中也需要花费大量的精力,最终还是可以搞定的。
总结,针对STM32软加密情况,不管设计者做多复杂,多深层的软加密,我们都可以成功破解。在STM32系列上,我们可以做到从BIN文件逆向到汇编语言,也可以伪C代码,这样我们可以清楚的看到整个程序的算法及定义,这样从根本上就可以解决任何软加密选项。