(19)中华人民共和国国家知识产权局
(12)发明专利说明书 | ||
(10)申请公布号 CN 103761456 A (43)申请公布日 2014.04.30 | ||
(21)申请号 CN201310475562.7
(22)申请日 2013.10.12
(71)申请人 利尔达科技集团股份有限公司
地址 310011 浙江省杭州市拱墅区和睦院18幢A区1201室
(72)发明人 沈秀清 陈维哲 王鲁克 储祝君 陈冰
(74)专利代理机构 杭州杭诚专利事务所有限公司
代理人 王江成
(51)Int.CI
G06F21/12
G06F13/28
权利要求说明书 说明书 幅图 |
(54)发明名称
一种单片机核心代码防破解的方法 | |
(57)摘要
本发明公开了一种单片机核心代码防破解的方法。它包括以下步骤:在单片机执行代码过程中,当执行到密文代码所在的特定存储区域时,MPU内存保护模块产生一个中断,在中断中,采用AES模块将密文代码解密成明文代码,CRC校验正确后,将明文代码回传到特定存储区域,中断返回,单片机执行特定存储区域的明文代码,代码执行完毕后,AES模块将特定存储区域的明文代码加密成密文代码,CRC校验正确后,将密文代码回传到特定存储区域。本发明使单片机内的核心代码以密文的形式存在,即使破解者使用侵入式方式破解了单片机,将单片机内核心代码读出,也无法将密文形式的核心代码翻译成明文,从而保护了核心代码。 | |
法律状态
法律状态公告日 | 法律状态信息 | 法律状态 |
权 利 要 求 说 明 书
1.一种单片机核心代码防破解的方法,所述单片机带有MPU内存保 护模块、AES便件加速模块、DMA模块和CRC模块,其特征在 于,包括以下步骤:
S1:预先对单片机内需要保护的核心代码进行初始加密,将核心 代码通过AES加密算法加密成密文代码,同时将该密文代码进行 备份,备份的密文代码存储在单片机的非易失性存储器上;
S2:单片机执行代码过程中,当执行到一段密文代码所在的特定 存储区域时,MPU内存保护模块产生一个中断;
S3:单片机当前执行的代码进入中断,DMA模块将该密文代码传 输到单片机的易失性存储器上的指定区域,AES便件加速模块将 指定区域的密文代码解密成明文代码,CRC模块校验明文代码, 如果校验错误,则执行步骤S4,如果校验正确,则执行步骤S5;
S4:原密文代码保持不变,DMA模块不会将明文代码回传到原密 文代码所在的特定存储区域,单片机当前执行的代码一直处于中 断中,中断无法返回;
S5:DMA模块将明文代码回传到原密文代码所在的特定存储区域 将原密文代码覆盖,明文代码全部回传完毕后,中断返回,单片 机执行明文代码;
S6:明文代码执行完毕后,DMA模块将该明文代码传输到单片机 的易失性存储器上的指定区域,AES便件加速模块将指定区域的 明文代码加密成密文代码,CRC模块校验密文代码,如果校验错 误,则执行步骤S7,如果校验正确,则执行步骤S8;
S7:DMA模块将备份的密文代码传输到原密文代码所在的特定存 储区域将明文代码覆盖,密文代码传输完毕后单片机执行后面的 代码;
单片机编程100例详解
S8:DMA模块将密文代码回传到原密文代码所在的特定存储区域 将明文代码覆盖,密文代码全部回传完毕后单片机执行后面的代 码;
在执行步骤S2至S8的过程中,如果单机片掉电,DMA模块 将备份的密文代码传输到原密文代码所在的特定存储区域将当前 该特定存储区域内的代码覆盖。
2.根据权利要求1所述的一种单片机核心代码防破解的方法,其特 征在于:所述步骤S1中对核心代码初始加密前先将核心代码分割 成若干段,每段核心代码的数据长度为0至1024bytes,接着将每 段核心代码分别通过AES加密算法加密成密文代码。
3.根据权利要求1所述的一种单片机核心代码防破解的方法,其特 征在于,所述步骤S1中对单片机内核心代码初始加密包括以下步 骤:使用电脑上位机将单片机代码中的明文核心代码通过AES加 密算法加密成密文代码,把该密文代码传输到单片机二进制烧录 文件内明文核心代码所在的存储区域将明文核心代码覆盖,同时 将电脑上位机生成的明文CRC密钥和密文CRC密钥添加到单片 机二进制烧录文件内。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论