这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 如何使用STM32芯片内部的唯一ID来加密?实际有用吗?

共1条 1/1 1 跳转至

如何使用STM32芯片内部的唯一ID来加密?实际有用吗?

工程师
2021-02-20 23:19:52     打赏

大家好!我的程序需要烧录两次,第一次烧录的加密程序,然后将结果存入FLASH ,第二次是应用程序+解密 ,将解密结果与存入FLASH的结果比较是否成功。

uint32_t m_ui32AdressVar = 0XEA60;
static void board_get_uniid(uint32_t *IntDeviceSerial)
{
  //不直接通过0x1FFFF7E8 地址读取UID,而是先通过数据算出UID地址,0x1FFFF7E8 = (((m_ui32AdressVar<<10) + 0x567EFD)<<3)
  uint32_t *UniIdAdress;
  UniIdAdress = (uint32_t*)(((m_ui32AdressVar<<10) + 0x567EFD)<<3);//0x1FFFF7E8 指针UniIdAdress
       
  IntDeviceSerial[0] = *(__IO uint32_t*)(UniIdAdress) + 0x4321;
  IntDeviceSerial[1] = *(__IO uint32_t*)(UniIdAdress+0x04) + 0x1234;//+0x04
  IntDeviceSerial[2] = *(__IO uint32_t*)(UniIdAdress+0x08) + 0x5555;//+0x08
       
//  IntDeviceSerial[0] = *(__IO uint32_t*)(0x1FFFF7E8);
//  IntDeviceSerial[1] = *(__IO uint32_t*)(0x1FFFF7EC);//+0x04
//  IntDeviceSerial[2] = *(__IO uint32_t*)(0x1FFFF7F0);//+0x08
}

通过上面这样处理意义大吗?如果直接读取UID,网友说反汇编很快就找到唯一ID地址并直接跳过了,我不知道通过上面这样转换一下,是不是没有那么容易破解。

希望各位探头,指教一个有效的、防止破解的方法。。。

先谢过大家了!





关键词: 唯一ID     加密     UID    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]