
STM32程序加密方法,防止他人直接复制 实现原理: 利用单片机的唯一序列号进行加密; 2 @$ b/ M! R9 K* Q实现方法: 在应用程序中,读取到单片机的序列号,并将其存储在片上Flash某一位置,这样在程序启动时先验证存储序列号是否为0xFF...,如果为0xFF...,则为第一次烧录,此时将序列号写入;若不为0xFF...,则验证读取的序列号是否和存储的序列号一致,一致则通过,否则失败。 ; Q( L; H, U) Y验证方法: 先将写好的程序烧录到单片机,然后通过Jflash将程序读出来,在烧录到新的单片机中,观察是否验证失败。 单片机序列号地址: l STM32每个系列都会有唯一的一个芯片序列号(96位bit): l STM32F10X 的地址是 0x1FFFF7E8 l STM32F20X 的地址是 0x1FFF7A10 l STM32F30X 的地址是 0x1FFFF7AC l STM32F40X 的地址是 0x1FFF7A10 l STM32L1XX 的地址是 0x1FF80050 JLINK 读取程序方法 可自行通过网络查找即可图片 - H6 o: z5 V. a! o7 w6 b " y; q' p* y( ^; n 文章出处: 单片机c编程 ; a+ H9 @* u/ n4 m' ]9 k, F+ N |