442|1

54

帖子

0

资源

一粒金砂(中级)

KEAZ128 Bootloader AES加密 完整性检查 防盗版。 [复制链接]

本帖最后由 afei9527 于 2022-3-3 15:27 编辑

        很久没来到论坛浇水了,曾几何时天天逛的论坛。进入职场也十余载了......

 今天讲产品阶段首要任务(bootloader),设计需要考虑的一些问题。如何保证程序完整性?如何防止别人盗窃你的程序,或者盗取你程序需要的成本增加。

如何生成程序进行加密与完整性检查?


const FW_INFO FwInfo={
{"KEAZ128"},
{__DATE__ __TIME__},
{"1.0.3"},  //软件版本
{"1.0.3"},  //硬件版本
{"SerialNumber"},//mcu uid
{"App"}
};

/*
1:通过这块来检查代码完整性
2:判断软件是否支持办卡
3:判断是否盗版
*/

typedef struct 
{
 int  head; //头部
 int  size;  //结构体大小
 int  satrtAdr; //固件开始地址
 int  binSize;//固件大小
 int  crc;      //固件完整性crc
 const FW_INFO *FwInfo;
 int  serial_number[3];
 int  runStatus;//1-正常运行 0-需要校验软件完整性
 char UpdateTime[32];//升级时间
 int  res[14];
}_softVersionInfo;
const _softVersionInfo softVersionInfo  @0x6200=
{
    0x55aa0102,
    sizeof(_softVersionInfo),
    0x00004200, //固件开始地址
    0,
    0,
    &FwInfo,
    {0,0,0},
    0,
    {"2022/02/13 09:12:01"},
} ;

image.png  

1:通过vs制作一个hextobin 对生成的代码进行crc校验与加密

image.png  

 

 

 

 

此帖出自NXP MCU论坛

回复

2万

帖子

71

资源

管理员

谢谢分享,欢迎回归。

个人签名

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


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

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表