查看: 8171|回复: 5

[已解决] KL25被加密,芯片锁死(已解决)

[复制链接]

该用户从未签到

8

主题

40

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
发表于 2013-5-6 14:51:35 | 显示全部楼层 |阅读模式
在新板子KL25中,用CW10.3写入经常会遇到写不进程序的情况,CW10.3提示该芯片被加密。我想请问有没有什么办法解锁,我看芯片手册里面有密钥,这个有什么用处吗?
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-5-6 15:46:18 | 显示全部楼层

RE:KL25被加密,芯片锁死

你需要查看Flash 地址0x40C对应的值,这个值将会在芯片启动时加载到FSEC(FLASH安全寄存器)中。如果是FSEC [MEEN]位为Mass erase使能,这可以通过mass erase命令去解锁芯片。Backdoor key方式是Flash安全级别最高的保护方法,只有通过软件接收外部输入的backdoor key来解锁芯片,通常后门key通过串口输入。
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

83

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2013-5-7 10:19:27 | 显示全部楼层

回复:KL25被加密,芯片锁死

回复第 2 楼 于2013-05-06 23:46:18发表:
你需要查看Flash 地址0x40C对应的值,这个值将会在芯片启动时加载到FSEC(FLASH安全寄存器)中。如果是FSEC [MEEN]位为Mass erase使能,这可以通过mass erase命令去解锁芯片。Backdoor key方式是Flash安全级别最高的保护方法,只有通过软件接收外部输入的backdoor key来解锁芯片,通常后门key通过串口输入。
我想问一下,密钥匹配之后,不是只能临时解锁芯片吗,但是复位之后,你的芯片还是处于加密状态。所以我想问一下,密钥匹配到底起了什么作用?
 
 
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-5-7 11:36:06 | 显示全部楼层

回复:KL25被加密,芯片锁死

回复第 3 楼 于2013-05-07 18:19:27发表:
回复第 2 楼 于2013-05-06 23:46:18发表:
你需要查看Flash 地址0x40C对应的值,这个值将会在芯片启动时加载到FSEC(FLASH安全寄存器)中。如果是FSEC [MEEN]位为Mass erase使能,这可以通过mass erase命令去解锁芯片。Backdoor key方式是Flash安全级别最高的保护方法,只有通过软件接收外部输入的backdoor key来解锁芯片,通常后门key通过串口输入。
我想问一下,密钥匹配之后,不是只能临时解锁芯片吗,但是复位之后,你的芯片还是处于加密状态。所以我想问一下,密钥匹配到底起了什么作用?
 
 

 

密钥匹配之后,芯片就会临时解锁,这时候你可以使用软件更改Flash地址0x40C值(这个需要代码支持编程Flash特定地址),改成未保护。之后上电复位芯片就会处在未保护状态。
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

83

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2013-5-8 14:59:11 | 显示全部楼层

回复:KL25被加密,芯片锁死

回复第 4 楼 于2013-05-07 19:36:06发表:
回复第 3 楼 于2013-05-07 18:19:27发表:
回复第 2 楼 于2013-05-06 23:46:18发表:
你需要查看Flash 地址0x40C对应的值,这个值将会在芯片启动时加载到FSEC(FLASH安全寄存器)中。如果是FSEC [MEEN]位为Mass erase使能,这可以通过mass erase命令去解锁芯片。Backdoor key方式是Flash安全级别最高的保护方法,只有通过软件接收外部输入的backdoor key来解锁芯片,通常后门key通过串口输入。
我想问一下,密钥匹配之后,不是只能临时解锁芯片吗,但是复位之后,你的芯片还是处于加密状态。所以我想问一下,密钥匹配到底起了什么作用?
 
 

 

密钥匹配之后,芯片就会临时解锁,这时候你可以使用软件更改Flash地址0x40C值(这个需要代码支持编程Flash特定地址),改成未保护。之后上电复位芯片就会处在未保护状态。
你这个使用软件是指使用Flash命令吗?比如说擦除一个扇区命令。但是即使不进行芯片解锁,我也可以通过Flash命令对Flash配置区域进行擦除和写入吧。因为芯片在secure模式下,在NVM 正常模式下,所有Flash命令都是可以用的。所以我在编程的时候,如果写了两个函数,加密和解密函数,我把0x40c的值设成0x80,这样就把芯片设成加密状态,允许后门密钥访问,允许Mass erase,同时我给0x400-0x407复制1,2,3,4,5,6,7,8作为密钥;我通过串口给MCU一个命令e这样,芯片就加密了,但是我串口在发一个命令,使MCU执行解密操作,把0x40c字段写成0xFE不就成了,根本没有用到密钥匹配啊?是不是我对密钥匹配的理解错误啊?你能给我详细地讲一下,密钥匹配的使用例子吗?
 
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-5-8 15:57:09 | 显示全部楼层

回复:KL25被加密,芯片锁死(正解)

你可以访问下面的链接,下载Kinetis Flash驱动软件,其中提供backdoor的例程:
http://cache.freescale.com/files/32bit/software/C90TFS_FLASH_DRIVER.exe
祝顺利。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 15:46 , Processed in 0.096743 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表