2008年,我的一个朋友因为他们的操控主板被盗抄了,丢失适当巨大,他找到了我寻求加密办法,因为他们选用的是ATmega128单片机,虽然他们现已采取了加密,但仍是被破解了,为此我查找了网络上的大部分材料,都没有一个详细有用的计划。经过自己研讨后,在这儿介绍一种有用的MRC多重加密技能,现已用到了实践产品中,能够说这种加密技能对错常有用的。
1. 单片机程序的破解进程:
现在关于AVR单片机来讲,自身有加密熔丝位,一旦熔丝被烧写程序就不能读出了。但这种加密技能能够经过芯片揭盖侵入式破解,大多数破解公司都把握了这种技能,破解费仅1000元左右。
关于这种状况现已不可防止,假如源码没有其他加密办法的话,把反汇编出来的程序编译一下,换到原电路板上即可运转了。
那么怎样对源码做加密处理呢?
事实上,不论你怎样处理,都能够剖析源码,找出你的要害所在,并修正汇编出来的程序来破解。
而咱们要做的是,将加密部分尽或许躲藏,打乱,使得破解者只能逐个剖析来破解,这样他不但要悉数了解产品的作业特色,功用,还要了解内部悉数的硬件规划,以及芯片的作业原理。关于一些特别算法他或许永久也搞不明白,这样使得破解的本钱远远大于从头规划的本钱。
但凡从事盗版出产的单位根本没有开发才干,而破解者仅仅一些二三流工程师,真实的一流工程师对破解都嗤之以鼻。
2. MRC加密技能:
为啥叫MRC秘要技能,因为这是香港MRC公司选用的有用加密技能,这种技能不需求添加硬件本钱,首要经过以下几个技能完成:
- 使用AVR的校准值,做身份认证,100片里边最多10片的校准值相同。
1)在头文件里界说:
#define OSCID 0XAF //校准数值,有必要设置成与MCU共同
2)在特别程序(中止程序,特别算法)里
unsigned char *p;
p=(unsigned char *)0x68; //赋值,芯片为mega88,OSCID寄存器=0X66,不直接写0X66,知道为什么吗?
…… //赋值和康复句子,中心有许多其他句子
p–;p–; //康复,
if ((*p-8)==OSCID-8) //判别,为啥这儿也不直接写为OSCID?
{
//放置正确的处理程序
}
else
{
//成心写错核算的程序
}
相似上述这样的程序能够放在中止处理程序,CRC算法,纠错程序,编解码程序,快速开方程序等要害程序里,别的长期(几天,几个月)才运转一次的程序里也要放置来抵挡仿真器的单步盯梢。最好每个程序里的处理都不相同,不要写成子程序。
#if (OSCID)%3==0 //这儿使用校准值来扰动,也可使用编译时的时刻来扰动。
a++; //也或许是个函数
#endif
#if (OSCID)%3==1
a++;
b++;
#endif
#if (OSCID)%3==2
a++;
b++;
c++;
#endif
把相似这样程序的条件编译句子放入要害程序,使程序代码起浮,防止解密者比照两样片的16进制代码来寻觅不同的方位。
每个芯片的变量地址在RAM或EEPROM中都是起浮的。
unsigned int IR_buff[100+(OSCID)%7]; //不同的芯片缓冲区长度不同
…… //其他变量界说在下面
因为编译后,发生的代码差异很大,这个办法能够抵挡反汇编代码比对来寻觅有不同的方位。
使用AVR的校准值与特别器材内部的寄存器绑定。
这儿用CC1101无线收发器来举例
rfSettings.PKTCTRL1= 0x27^ (OSCID^0X55); //
halSpiWriteReg(CCxxx0_PKTCTRL1, rfSettings.PKTCTRL1^(OSCID^0X55)); //写到寄存器
……
#define CCxxx0_SRX 0x34-OSCID
halSpiStrobe(CCxxx0_SRX+OSCID); //进入接纳状况
3. 安全性评价:
假如破解者能读出多个样片的汇编程序。他无法经过比对16进制或汇编后的代码来取得这些样片的差异。
他只要仔细阅读汇编代码来免除加密的代码,关于一些特别算法,他要搞清楚原理才干修正,不然或许埋下极大毛病危险。关于单步追寻,因为长期程序并没触发,因而不能确保都能追寻得到,有些程序需求特定的条件才干激活,因而也不能确保逐个追寻得到,这样要完全破解,解密者只能在悉数弄清楚设备的功用后,逐个免除,逐个烧录,逐个测验。这样的作业量或许适当的大。
关于相似CC1101这样的器材,寄存器既多又杂乱,略微错一个当地就或许引起不可思议的毛病。
4. 结语:
本文提出的MRC加密技能不是不能破解,而是破解的价值很大,即便破解后用于产品中危险也很大,有或许加密程序里含有自毁程序,在必定时刻后才干发生,届时或许导致无法幻想的丢失,因而用户不要贪小便宜,应该购买具有自主知识产权的产品。
经过多重MRC加密,能够大大冲击盗版者和破解者的决心,到达为自主立异产品保驾护航的意图。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/260095.html