单片机加密程序
工具:使用15V电源串47~470欧小电阻(不能太小),并联一路串二极管保护的发光管,发光管限流后接Vcc或Gnd(极性不同),接一探针。
再使用-15V电源,电源的地接IC的Vcc,至发光管亮,注意极性为负极性!
目的是击穿Pin的Pmos管(即上拉管);再用5V电源,直接加在待烧Pin上,再次把已短路的Pmos,烧开路。
使用+15V电源,把探针点在待烧管脚至发光管亮,注意不能超过3秒,否则IC会损坏。发光管亮说明Pin的输出Nmos(即下拉管)击穿;再用5V电源烧开路。
就OK啦,这个Pin将永远失效了!!
过程:电压烧坏Pmos—电流烧坏Pmos—电压烧坏Nmos—电流烧坏Nmos
如此烧断后,解密者就很难判断那个口被烧断了。
说明:EA是读入脚(对MCU来说),而烧Pin的原理是烧坏Pin的输出推挽管,如果想烧坏Pin的输入则要冒IC被烧坏的风险!
所以不能选只读的脚来烧,一定要烧编程时回读数据的IO口,最好烧断两个。P1.0或P1.1的管脚?
建议:根据以上原理,自己用MCU做一个自动烧断器,烧断就会非常可靠!
解密者一般是利用我们烧Pin的漏洞,钻空子才能解密的。
如只执行了上述烧Pin的某一步就留下了漏洞。
那是不是完全烧坏Pin以后就不能解密了呢,也不是!
但要想解密,完全烧坏两Pin的费用,可能要¥nW,几千就搞不定了,还要找到真正的邪派高手(开发者是正派)。
利用多余的IO口或IIC总线,用一款不知名的内置RC振荡(可擦掉IC型号)的目前尚不好解密或最新款的MCU 6pin(SOT-323)伪装成双数字三极管或8pin(SOP-8)伪装成24C04,做为加密狗,在初始化时主MCU和加密狗通讯,双向确认加密密钥。
软件使用古老而有用的自陷乱序加密法(加密子函数用内汇编做)加密应用程序,应用程序中使用双滚动因子分解算法,发送滚动公开密钥给加密狗,回读校验加密狗回送的非公开密钥。
如果密钥错误,则判断为非法,启动软件自塌缩功能,在3个月以内如无正确密钥的重新激活,MCU渐渐的自毁(有可自编程功能)一些关键的功能模块,让一些重要功能缺失,给解密者造成重大损失,当然也损害了客户(如果他不知买的是盗版就无辜了!)。
当解密者发现没搞定后,就会不断的花钱,对他的打击就越来越大。
伪装成24C04,密钥长度1440bit(64Byte/512bit就足已),从协议角度看天下无人能解,想开发一款相同的狗无异天方夜谈,如果丢失密钥,很难搞定的。
这只能增加解密的难度(加密狗本身的解密难度已大于¥5W,再加上不知名及布线伪装!),只要把解密难度增至10W以上,就可以了。
也可以使用另一款不好解密的MCU做控制界面,双芯片通讯工作,这样光解开AVR还不行。就可以放心使用AVR的高性能了。
这是对付顶尖邪派高手的最有效方法之一,试问谁愿为解密而付¥10W呢?
如果有¥10W就可以请到最顶尖的正派高手,来自主开发了,不是吗?
再告诉你一个密秘,50万新台币,任何MCU无密可言,这是台湾晶圆级解密公价。所以解密难度超过¥10W的加密技术没什么必要了。
单片机加密程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)