几个朋友最近项目做好了,但为加密的事情发愁,我想把自己这几年来的经验跟大家分享一下,起到抛砖引玉吧!当然也有我摘自各类高手的经验。
提到解密,先讨论一下破解单片机程序的方法:
对单片机内的程序窃取主要有两种方法:侵入式和非侵入式。侵入式的方法是破坏芯片的封装,并利用半导体测试设备、显微镜和微定位器等仪器找到芯片内保护熔丝的位置并将其擦除,使其变成未经加密的芯片,然后用编程器将程序读出,或者直接将探针放在芯片内部总线上读出存储器中的程序。非侵入式的方法是利用芯片设计或芯片编程时序中的某些漏洞对芯片进行解密,例如针对早期的AT89C系列芯片在擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后停止下一步擦除片内程序存储器数据的操作,从而使加密的单片机变成没加密似的,然后利用普通编程器就可读出片内的程序了。
可以看到,使用侵入式的解密方法需要使用昂贵的设备,并且需要花费较长的时间,其解密成本较高;而使用非侵入式的解密方法需要的设备相对较廉价,只要能找出芯片设计中的漏洞就有可能实现解密,但是需要解密者有深厚的专业知识。
(待续)群里很沉闷,欢迎高手发言! |