编写自杀式代码

0 前言

在制作TI调试器时,需要在RAM中执行代码,并擦除原有固件,然后接收调试器发来的数据文件,写入FLASH中,从而完成系统烧写和调试功能

该技术可以用作自杀式入侵代码,完成工作后,清除所有代码信息,然后重启
已经测试通过,并十分有效,简单的说一下基本思路,详细信息不便透露

1 基本步骤

  1. 调试器连接MCU
  2. 更新固件
  3. 完成系统初始化和C-Runtime初始化
  4. 映射RAM执行缓冲区,设置断点
  5. 执行RAM函数,使用DMA擦除固件信息,准备接收调试器发送的数据资料

2 特别说明

  1. 我已经在用STM32来调试CC25xx/CC23xx系列芯片,同时具备烧写功能
  2. 该技术可以和缓冲区漏洞结合起来,得到系统固件,并擦除自身,完全不留任何作案信息