(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密钥添加到单片            机二进制烧录文件内。