单片机学习小组
直播中

美信电子

12年用户 415经验值
擅长:射频微波与天线
私信 关注

如何对Powerwriter软件的离线授权加密进行测评呢

Powerwriter软件支持哪几种加密方式呢?
如何对Powerwriter软件的离线授权加密进行测评呢?

回帖(1)

孔德羲

2022-1-20 11:01:44
二、【PW200烧录器评测】+离线授权加密
Powerwriter我最看重的就是超级加倍,错了,超级加密。软件支持在线授权、离线授权和IcwKey授权三种加密方式。但是目前只支持离线授权。

其他的两种即将发布,但是还没发布
这里测评离线授权加密。
一、打开powerwriter软件,选择芯片,选择UID加密设置,选择加密模式为内置离线授权。秘钥地址可以根据编译器自动生成,也可以固定(编译器会从芯片的flash最后给出,可能导致空间不够放置密钥),可使用软件读取Program Memory查看FLASH的空位固定密钥地址。步奏参看下图。



二、生成Matrix编码

导出源码后记得保存,导出的源码是一个完整的工程,这里我们只需要两个文件,cortex_chipid_binding.c和cortex_chipid_binding.h文件。将这两个文件包含进自己的需要加密的项目中。

在需要加密的部分进行如下操作,我是全部加密,不通过验证,所有代码功能都不执行。
在main.c中包含cortex_chipid_binding.h头文件。


主函数中进行UID验证,验证通过才执行循环里面的代码,否则主循环代码不执行。如果别人通过读取你的flash直接烧录到新的芯片中,代码不会执行。
到此可以直接编译下载到芯片中,烧录时注意将powerwriter断开连接。此时代码不运行。我的代码是串口数据返回,收到数据会返回数据。此时无数据返回。

此时回到powerwriter,切换到Program Memory选项卡,添加之前的keil工程的HEX文件,之后应用固件。

三、编程加密。
此时点击执行-智能自动编程,会自动编译加密文件并烧录进芯片。如果选择保存并离线加载,软件会把所有的数据配置好之后 作为一个package 加载到Power Writer。断开与软件的连接,就可以当做离线烧录器使用了。美滋滋。小量产品直接离线烧录,爽翻天。

此时运行代码,代码可以运行。

此时切换到Program Memory选项卡,读取当前页,然后保存为bin文件,烧录到其他芯片,程序不起作用,达到加密目的。

至此,powerwriter离线加密就测试结束,整个布置过程很简单,但是我第一次做的时候一头雾水,感觉好难。理解做完之后过程相当简单,在产品量产前对程序进行加密,一次设置可以离线烧录,非常方便。当然,因为手头设备和本人技术限制,具体加密程度本人无法做出判断。但是根据手册的介绍此加密会大大提高破解的难度和成本,提高代码安全。在线授权和IcwKey授权的加密方式会更加安全。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分