这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 来探讨一下!关于stm32读写保护可能的绕过方法

共9条 1/1 1 跳转至

来探讨一下!关于stm32读写保护可能的绕过方法

工程师
2020-01-23 21:57:03     打赏

最近在写一个stm32的程序,已经设置了读写保护。
程序使用了bootloader,从网上找的进行了改造,发现其中可能有个bug,未经验证,想问问大家以前谁做过

摘录读写保护说明:

所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 - 写保护和读保护。 
        1、读保护即大家通常说的“加密”,是作用于整个Flash存储区域。一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方式读出:A、 通过调试器(JTAG或SWD); B、从RAM中启动并执行的程序; 


现在bootloader中有一个读取标志位的函数,功能是读取指定地址,函数如下,函数运行空间为flash:

//读取指定地址的字(32位数据) 
//faddr:读地址 
//返回值:对应数据.
unsigned  int STMFLASH_ReadWord(unsigned  int faddr)
{
        return *(__IO unsigned  int *)faddr; 
}

是否存在这种可能,在设置了读保护后再通过在RAM中调用执行这个Flash空间的函数读取flash,如果可以的话保护就失效了,需要对这个函数进行一定的验证,当前我还没验证是否可行。还看看大家的看法和建议。。。。






关键词: stm32     读写保护    

工程师
2020-01-23 22:17:21     打赏
2楼

对稍专业的人士来说这都不是事,应该很简单吧。不过我不是很熟悉STM32


工程师
2020-01-23 22:21:09     打赏
3楼

我比较关心的是,读保护后怎么从RAM运行调用flash函数?


工程师
2020-01-23 22:25:26     打赏
4楼

这个我熟悉些,回楼上:

通过jlink把代码下载到ram中执行,ram调用flash函数。


工程师
2020-01-23 22:28:01     打赏
5楼

32单片机复制……应该不贵了吧


工程师
2020-01-23 22:32:22     打赏
6楼


楼主,你用jlink下到ram里从ram启动没用的。
简而言之就是要用别人flash中的代码来调用你ram中的代码。你可以先从flash启动,然后用RAM调用flash里的代码。


工程师
2020-01-30 14:01:11     打赏
7楼

直接从flash里调用比较好


工程师
2020-02-10 21:23:32     打赏
8楼

大家的方法都挺不错的不知道用哪一个了


工程师
2020-02-15 18:51:05     打赏
9楼

flash里调用


共9条 1/1 1 跳转至

回复

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