-
破解是个很令人疲倦的的话题
但国内的低价破解对自主开发的打击太严重了,长此以往,我等工程师的竞争更激烈,薪水压得更低
所以,关系到工程师的群体利益,我们每个人都应该关注
-
单片机的破解行业的形成
单片机的破解行业的形成:
1、市场有此需求
2、大量淘汰的IC测试设备
3、IC设计行业的逆向工程也为MCU破解行业提供了人力资源
至少6成的MCU破解是:开盖、FIB修改、标准烧录器读出
所以,只要挡住“读出”这一条路就能阻止这半数以上的破解。
STC的单片机为什么破解费用比其它单片机高10倍甚至100倍,就是靠它。
关闭读出,是高科技吗?显然不是,甚至比打开读出还简单。
至于,输入干扰测其辐射等,根本不是搞破解的人能玩的。
-
【转】通过烧断管脚来实现加密的方法
电压型烧断:
工具:使用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口,最好烧断两个。
建议:根据以上原理,自己用MCU做一个自动烧断器,烧断就会非常可靠!
解密者一般是利用我们烧Pin的漏洞,钻空子才能解密的。如只执行了上述烧Pin的某一步就留下了漏洞。那是不是完全烧坏Pin以后就不能解密了呢,也不是!但要想解密,完全烧坏两Pin的费用,可能要¥nW,几千就搞不定了,还要找到真正的邪派高手(开发者是正派)。
并行和串行的分别
并行指MCU使用多数据线编程,一次打入数据为四位或8位不等,如AT89系列,Holtek等。
串行指MCU使用1~2条数据线,一条时钟线编程,也有使用SPI、SIO接口的,都属于串行编程MCU,如Samsung。
也有并行、串行兼容的,如AVR。
SuperPro L+属于初级烧断,如果没记错,大概只烧短路了Nmos管,通过上面的贴子,你应该理解就算把Nmos完全烧坏也没什么用的。好的烧断器只有自己做,做个中级的足已。
烧Pin的方法,针对的是CMOS
不管是OTP还是MTP,完全烧断可回读数据的Pin,加密效果不完全相同。对于并行编程的MCU这是中级的烧断方法。对于串行编程的MCU烧断DAT Pin的输出就足够高级了。
更高级的烧断是烧坏编程时钟或片选的输入逻辑,不过操作不当对芯片有相当危险。
当并行的时钟输入逻辑或串行的DAT输出被烧坏后,解密者无法判断是否解密成功,就不敢开芯片,就会知难而退了。
对于中级烧断,在读保护被打开后,就可以找到被烧断的Pin,因为该位数据全部是高电平,使用强水打开芯片,再使用一种昴贵的设备制造一个Bond位,重新邦定就可解密。而这种设备大陆是很难租用到的,一般都要到台湾做,租用以¥nK/小时来计算的,所以最好烧断2Pin以上,给解密者制造费用。
一般的解密者遇到这种情况,只有苦笑的份。
如果没有完全烧断Pin那是低级烧断,则邪派的一般高手就轻易可以解密,所以一定要完全烧断!
-
烧短IO可以大幅提高破解成本
为什么说“烧短IO可以大幅提高破解成本”?
破解的法子很多,比如脉冲攻击、电子照相..................
但应用最多的是开盖 + FIB + 读出,注:绝大多数读出用的是IC厂家自己的读取工具。
烧IO实际上是破解CMOS的输出的PMOS和NMOS两个管子。
因为只烧一个,破解者可以用上拉和下拉的方式低成本的补上。
烧断了读出IO脚,破解者要进行IO的重建,那破解成本已经上了一个数量级。
比如,一些PIC芯片的IO口buffer重建,有人只要几千块钱就给做。
烧IO还具有“杀敌一千,自损九百”的效果,不建议采用。