芯片破解 2017/08/18 10:26:02
单片机解密,主要有以下方法
1、漏洞破解
早年Atmel的一个Flash片子有一个bug,就是芯片擦除的时候,会先擦除保护位再擦除内容 。
于是破解法就来了,擦除的时候,准确定时,中途断电,于是保护去掉了,内容也可以读出 了。
但此类,越来越少,新芯片用此法几乎绝种了,因为没有一个客户会容忍自己的供应商竟然 如此置客户代码安全于不顾。
2、后门破解
因为FAE芯片分析,很多厂商在IC内部放入后门,通过花花肠子式的时序进入测试模式,然 后可以读出用户程序。也有的芯片内部藏有另外一个存储区,必要时候写一段代码进去,然 后用这段代码把 用户程序读取出来。
这个也越来越少,但仍有一些厂商一直保留有此类后门。但进入不是那么简单的时序,资料 管控也不是大陆的低端IC厂可比的。
3、FIB修改
很多电工有PCB割线的经验,单片机破解也一样,把芯片打开后,用离子束把保护逻辑破坏 ,而保持其他电路不变,然后用标准的烧录器读取出来。这个最麻烦的是,寻找IC内部的保 护逻辑电路。很 多二手的低端FIB设备,也从IC测试领域逐步流向单片机解密行业。
目前FIB修改,是破解的主力。想想STC破解成本高的原因,不是它保护技术高,是因为它没 有公开的读取工具。还有就是PIC的熔丝深埋技术,就是把保护逻辑放在IC的内层,也是大 幅提高破解成本。还 有烧断烧录IO也是个好法子,致芯科技对大部分STC、PIC芯片都已经 有非常成熟的解密方案。
单片机解密的程序理论上是可以修改的,可实际做起来太难了。因为解密出来的是机器码程序,需要反汇编成汇编程序,然后再去读懂这些程序,才行做修改。如果原程序是用C语言写的,经编译后的机器码程序,解密出来,再反编译得到的汇编程序是很难读懂的,更别说是修改了。如果原程序并不长,并是用汇编语言写的,解密后反编译的程序还可以读懂,但需要有很强的编写汇编语言程序的功底才能读得懂。所以,一般情况下,解密出来的程序就是为了要机器码,并不是为了修改的,而是把解密的机器码程序直接烧写到自己的单片机中去就得了。这要求在硬件上是完成与原来的电路一样才行。
标签:单片机,解密