打印
[DemoCode下载]

[UID加密]基于ICP COMMAND TOOL的UID加密范例

[复制链接]
2460|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MLI_William|  楼主 | 2015-1-13 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                                                      M051 ICP Command Tool 使用UID加密参考说明
       该应用简介:需安装NuMicro Command Tool,写一段ICP Command命令来操作开发板。然后写一段C Code来根据ICP Command读取的UID做个变换。把变换后的UID再写到APROM文件的指定位置。最后再执行ICP Command命令来把APROM的文件,烧到芯片上。
应用程序里面,需要先读取UID,然后做下运算,接着把APROM指定位置的数据读出来。与运算后的UID做比较,如果一样,则程序继续运行。不符合就停止工作。
1,  批处理文件:
执行批处理文件前,需注意安装Command Tool后,批处理文件,以及ARPOM文件和C语言编程出来的exe文件要放到同一个目录。如果要更改目录,需把Nulink.exe和关于Flash算法的四个文件也放到同一目录,要不然会提示打开文件错误。
Del log.txt
;NuLink -r UCID >> log.txt
NuLink -r UID >> NU_UID.txt  //读取UID
TCDEF  // 执行UID运算,并把APROM文件烧入运算好的UID变换文件名为MODAPROM
NuLink -e ALL >> log.txt
NuLink -w APROM MODAPROM.bin >> log.txt   //烧入MODAPROM文件到APROM
NuLink -v APROM MODAPROM.bin >> log.txt
;NuLink -w LDROM ISP_Code_Mini51_v2.3.bin >> log.txt
;NuLink -v LDROM ISP_Code_Mini51_v2.3.bin >> log.txt
NuLink -w CFG0 0xFFFFFFFF >> log.txt  //烧入CFG,选择APROM启动
NuLink -r CFG0 >> log.txt
NuLink -S
2C语言处理文件.
先读取NU_UID.txt里的数据,并对其转换成16进制数据,并存到UID数组里面。
调用函数changUIDData()对进行转换。然后把转换后的数据,写到文件MODAPROM
写入文件的位置由:APROMUIDADDUIDOFFSET两个宏定义决定,也就是UID地址加偏移量。
3APROM应用程序部分。
使用ISP命令,先读取UID,然后再读取APROM位置上存的,经过运算的UID,然后在进行转换运算。如果两者一至说明正常。如果不一致,说明非法数据。
GPIO_OutputInput工程是基于V3.00.002BSP里面StdDriver下面的工程改的。

沙发
MLI_William|  楼主 | 2015-1-13 11:49 | 只看该作者
附件里具体的操作文件,供参考。

testICPCommand.zip

701.41 KB

使用特权

评论回复
板凳
mintspring| | 2015-1-13 18:20 | 只看该作者
加密后就不能够再读出程序了,对吗?可以保护科技成果

使用特权

评论回复
地板
MLI_William|  楼主 | 2015-1-23 13:20 | 只看该作者
只要对Config里的加密位使能了,就读不出来。

使用特权

评论回复
5
MLI_William|  楼主 | 2015-1-23 13:23 | 只看该作者
当然这种加密的方式,通过UID进行算法,然后把算法的结果,存到程序里面去,在程序里,在把该位置的数据读出来,再做运算。确认正确的,程序才能往下运行。

使用特权

评论回复
6
从小木丁丁| | 2015-1-26 10:30 | 只看该作者
这种加密方式不好

使用特权

评论回复
7
MLI_William|  楼主 | 2015-2-4 15:52 | 只看该作者

有什么好方法,说出来分享一下啊。
:handshake

使用特权

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

本版积分规则

13

主题

36

帖子

2

粉丝