打印
[Cortex-M0技术交流]

【转载】无功而返 - 尝试**Nuvoton Cortex-M0 的flash内容保护

[复制链接]
3218|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2011-3-27 08:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原文出处:http://my.chinaunix.net/space.php?uid=23480430&do=blog&id=5098 无功而返 - 尝试破解Nuvoton Cortex-M0 的flash内容保护
芯唐的NUC100系列Cortex-M0有一个保护flash的配置。
按照NUC100 spec的说法,当写入了flash保护位后,flash将受到保护,
用户不能通过编程器或其他设备读出flash中的内容,当然flash中的程序还是可以运行的。
这个功能无疑是非常有用的,尤其国内的环境,保护代码是非常必要的,防火防盗放叫兽。。。

那么,这个flash保护的实效如何呢?有没办法破解掉?X-Hawk的确不信这个邪,
既然程序能如常运行,就一定有数据,既然有数据,怎么就抓不出来呢?

首先想到,先通过ICE调试接口从flash寄存器读读看。结果读上来全都是无效的数据,
全为0xFFFFFFFF。这个实验显然有点辱没开发者的智商。。。

于是再想,既然flash中程序能运行,那么flash中的程序显然能得到正确的flash内容了。
那么只需要将一段程序放到内存中去运行,由这段程序输出flash中的内容,这样是不是可以呢?
当然首先要解决的是,通过什么途径将程序放到内存中并运行。唯一靠谱的就是通过ICE调试接口了。
但是却无不遗憾的发现,在设上flash保护位时,ICE无法对内存直接进行读写。又一技谋失败!

一计不成再生一计,在一个风雨交加的夜晚,终于想到一个无比绝妙的主意。
不就是要先将读flash的程序放到芯片内部执行嘛,办法应该有的,只是道路曲折的。
我们知道,通常一个正常的ARM thumb程序,总有一些PUSH和POP指令在里头。
那么。。通过ICE调试接口修改CPU寄存器,使PC和SP寄存器指向同样的地址,然后单步使CPU运行一下.
如果PC处指向的是一条POP指令,那么该指令的内容将被POP到R0, R1等通用寄存器。
运行完检查寄存器R0, R1等,就可以判断出某个地址处是否有POP指令。
这样用单步运行的方式扫描代码,对整个flash地址区间做一遍,找到一两条POP指令必定不成问题。
有了POP指令的位置还不好办?改变SP,就可以读出任意地址的内容。
接下来的步骤就简单了,整理出破解思路如下:
  1. 通过设定PC和SP一样,使PC指向不同地址扫描,找出指令POP所在的位置。
  2. 将PC指向POP指令处,变换SP指向各个地址,将整个程序的内容POP出来。
     基本上,程序内容就是部分flash的内容了。
  3. POP出的程序内容中,只要是正常的程序,必定有PUSH指令。找出PUSH指令的位置。
  4. 将PC指向PUSH指令处,SP指向RAM的地址,单步执行,就可以想RAM中写入数据。
     这样写一段特殊的导出全部flash的程序到RAM中。
  5. 执行RAM中的程序导出全部flash.
无懈可击的步骤!抑制不住激动的心情,和同事讨论了下想法,第二天一早就试验。
试验结果却再次失败,用ICE改PC,SP, 扫描所有的地址,均找不到POP指令,十足邪门。
而同事再次找到了根本的所在,当ICE连接上去,在flash受保护时,NUC100的flash到系统总线的数据将全变为0xFFFFFFFF。也就是说,任何想用ICE接口破解flash保护的尝试,都被硬件上直接杜绝了。。。

至此,所有尝试破解flash的努力均告失败。
厂商在保护flash程序被窃取方面,还是有一套的。

相关帖子

沙发
缥缈九哥| | 2011-3-27 10:20 | 只看该作者
一年前的帖子,给翻了出来 。

使用特权

评论回复
板凳
hotpower|  楼主 | 2011-3-27 11:14 | 只看该作者
哈哈,给晓辉做个推广

使用特权

评论回复
地板
weshiluwei6| | 2011-3-27 17:48 | 只看该作者
大叔思维很特别

使用特权

评论回复
5
hotpower|  楼主 | 2011-3-29 06:47 | 只看该作者
国军主力

使用特权

评论回复
6
lixupengIC| | 2011-3-31 22:02 | 只看该作者
支持!!!

使用特权

评论回复
7
disixin| | 2012-7-25 11:52 | 只看该作者
那data flash操作怎么处理了?

使用特权

评论回复
8
rabbit2012| | 2012-8-1 14:17 | 只看该作者
原廠不知有沒有留後門

使用特权

评论回复
9
X-Hawk| | 2012-8-1 14:20 | 只看该作者
原廠不知有沒有留後門
rabbit2012 发表于 2012-8-1 14:17

哪个原厂敢做这种事啊。
被抓到,赔偿不说,以后生意更不要做了。

原厂也不需要靠这个挣钱的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21619

帖子

506

粉丝