芯片解密:如何破解自毁程序的单片机
芯片解密:如何破解自毁程序的单片机
在单片机和芯片设计中,自毁程序是一种常见的保护机制,用于防止知识产权被非法读取。这种程序通常会在检测到异常情况时自动擦除内部程序,增加破解难度。本文将介绍自毁程序的工作原理,并探讨如何破解这类程序。
为了知识产权的保护,防止单片机中的软件不能被读出,可以选择具有加密功能的单片机,保护代码不被非法读取。
用芯片设计的硬件可能与计算机上运行的上位机程序协作完成一定功能,这样就可以在芯片与软件之间建立一定的协议进行软件和硬件的保护,比如硬件的序列号或软件的序列号,当软件发现硬件的序列号不正确时而不继续执行或进行自毁,自动销毁内部所有的程序,使得单片机程序被清空而不能使用。
软件自毁:大概原理是MCU上预留1个引脚,隐蔽处接个电阻做ADC采样,通过代码检测此采样正确后才能正常运行代码,如果检测结果不是你的电阻值,说明MCU被拆下了,然后通过代码实现下次上电时擦除芯片程序,或者部分填充FF 00之类的以达到保护知识产品目的。
进行自毁还可以产生硬件的损坏,比如板上提供12V或更高的电压,通过一定的检测电路检测是否满足,不满足要求,程序则不继续执行,当需要自毁时把12V的电压直接加到3.3V或5V的器件上去进行硬件销毁。但这在一定程度上造成了危险性,如果设计不善可能会引发火灾,并推荐使用。
目前解密的过程中我们碰到了不少带有自毁程序的芯片,这与芯片旁边的一块小电池有关(纽扣电池或者聚合物电池),含有断电自毁功能,在芯片被取下来,或者电池停止供电时,芯片的自毁程序将会启动,断电程序会被擦除,从而芯片程序得以保护,增加了解密难度。
针对这种断电自毁程序的加密程序,益臻反向研究中心为了解密成功,在解密实验室研发了一个恒电压环境,即使芯片与电池分离,也能保障芯片持续被供电,从而使解密工作可以顺利完成。
本文原文来自CSDN