程序逆向【0】_GD32F4xx 和 STM32F4xx 的读保护设置与程序读取实战

1. 读保护功能

  芯片的读保护功能是为了防止芯片内容的程序代码和数据被非法读取,开启读保护后,通过常规的调试接口(如 JTAG 或 SWD)读取芯片内部 Flash 内容会受到限制。在芯片的Flash存储器中一般都又选项字节单元,用于存储一些芯片关键特性和功能,如它可以控制读写保护、引导模式选择、闪存的读 / 写保护状态等。这些选项字节通常在芯片编程和配置阶段进行设置,以满足特定的应用需求和安全要求。

1.1 GD32F4xx的选项字节

  以GD32F450为例,从芯片资料的闪存结构中可以看到选项字节块的位置如下:
在这里插入图片描述
从上图可以看到GD32F4xx的选项字节块大小为32Bytes。选项字节会在每次系统复位时装载到选项字节控制寄存器。在GD32F4xx的选项字节SPC(0x1FFFC001)为安全保护代码配置项如下图所示:
在这里插入图片描述
GD32F450的FMC提供的闪存安全保护功能,划分为3个等级:

  • 1、无保护状态:SPC = 0xAA时,闪存处于非安全保护状态。主存储块和选项字节可在所有操作模式下被访问;
  • 2、低保护等级:SPC设置为除0xAA或0xCC外的任何值时。主存储闪存块仅能被用户代码访问,在调试模式下从SRAM或bootloader模式启动时,对主存储块的操作被禁止。调试模式下这两种启动方式中,主存储闪存块的读操作会产生总线错误。此等级下,对选项字节的所有操作允许。 若在此等级下,通过设置 SPC 字节为 0xAA 进入无保护状态时,主
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

madao1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值