[发明专利]一种单片机代码的防破解方法有效
申请号: | 201710310694.2 | 申请日: | 2017-05-05 |
公开(公告)号: | CN107194210B | 公开(公告)日: | 2019-07-30 |
发明(设计)人: | 刘家斌;刘全喜;魏肃;柴智;刘双春 | 申请(专利权)人: | 厦门芯阳科技股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 何家富 |
地址: | 361000 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单片机 代码 破解 方法 | ||
本发明涉及一种单片机代码的防破解方法,其在带有EEROM功能的单片机代码中植入保护程序,在单片机代码被执行时可以读取EEROM中的数据进行校验,程序能自动判断出是破解代码还是原厂代码,如果是原厂代码,则执行正常功能,如果是破解代码则启动相应的寿命倒计时功能,使基板正常工作一段时间后失效,导致破解者为破解行为负出惨痛代价,最终导致破解无效。
技术领域
本发明属于单片机代码保护技术领域,具体地涉及一种单片机代码的防破解方法。
背景技术
现有的电子产品研发投入越来越大,叠代越来越快,很多工厂因为缺少研发投入和技术沉淀,便通过抄袭硬件和破解芯片代码的方式达到快速量产的目的,严重的破坏了市场的公平和损害了研发公司的利益。
目前芯片的破解主要有以下两种方式:非侵入式和侵入式。非侵入式利用芯片设计或编程时序中的漏洞对芯片进行破解,随着芯片技术的发展,目前这种情况少之又少。侵入式的方式是破坏芯片封装,利用半导体测试设备等仪器找到芯片保护点并进行修复,然后利用特殊编程器读出烧录文件。以上两种方式都能快速破解出单片机的程序,可以直接实现量产。
中国专利公开号CN103761456A,公开日2014年4月30日,发明的名称为一种单片机核心代码防破解的方法,该申请案公开了一种将单片机内核心代码以密文形式存在特定的存储区域,MPU内存保护模块产生一个中断,在中断中,采用AES模块将密文代码解密成明文代码,CRC校验正确后,将明文代码回传到特定存储区域,中断返回,单片机执行特定存储区域的明文代码,代码执行完毕后,AES模块将特定存储区域的明文代码加密成密文代码,CRC校验正确后,将密文代码回传到特定存储区域。其不足之处在于:以上专利是把核心算法切块并且加密保存,算法需要分区域存储并加密,执行时又需要解密和校验,极其浪费程序空间,而且算法复杂并不适用于大多数的单片机应用。
发明内容
本发明旨在提供一种单片机代码的防破解方法,以能够有效地解决现有的单片机代码的防破解方法存在的不足。为此,本发明采用的具体技术方案如下:
一种单片机代码的防破解方法,包括以下步骤:
S1、单片机上电后,读取其EEROM中的校验数据地址中保存的校验数据;
S2、对步骤S1读取到的校验数据进行判断,若等于表示单片机程序烧录后第一次上电的数值,则进入步骤S3;若不等于表示单片机程序烧录后第一次上电的数值,则进入步骤S6;
S3、单片机等待预定时间,以确定是否有解锁动作,若解锁成功,则进入步骤S4;若解锁不成功且已超过解锁时间,进入步骤S5;
S4、将设置值更新到EEROM的校验数据地址中,将正常寿命值更新到EEROM的寿命数据地址中,进入步骤S8;
S5、将异常值更新到EEROM的校验数据地址中,若通过S3步骤进入,则将正常寿命值赋到EEROM中的寿命数据地址中,若通过其余步骤进入,则寿命数据地址的寿命数据减一,进入步骤S8;
S6:判断EEROM中的校验数据地址的校验数据是否等于设置值,若不相等,则进入步骤S5,若相等,则进入步骤S7;
S7:将正常寿命值赋到EEROM的寿命数据地址中,进入步骤S8;
S8:读取EEROM中的寿命数据地址的寿命数据,判断是否等于异常寿命值,若相等,则进入步骤S9;若不相等,则进入步骤S10;
S9:启动保护程序;
S10:正常工作。
进一步的,所述步骤S3中的解锁动作可包括:键盘的数字密码输入、按键的单击或多击组合或者指定IO口收到的数据信号等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门芯阳科技股份有限公司,未经厦门芯阳科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710310694.2/2.html,转载请声明来源钻瓜专利网。