首先,破解的可行方法
重新激活
逆向工程
第二、操作方法
重新激活
这个要看系统是如何设计的,如果是通过给单片机发送一串指令,告诉单片机运行多长时间以后失效,那么就可以跟踪分析这条指令,等到时效到期时重新发送激活指令即可。
当然,如果这条指令如果是明文,是可以这样做的,但是如果是密文破解的难度就增加很多了,但是个可行的方法。
逆向工程
这个方法需要从单片机的rom里面读出程序,然后对机器码进行反编译得到汇编代码,有的反编译工具还可以得到C语言代码。
得到代码之后就好办了,分析代码逻辑,找出激活部分代码,然后修改这部分代码。验证无误后,再编译成机器码,重新写入到单片机,破解就完成了。
第三、可能遇到的问题
重新激活只要稍微动点脑子的工程师可能已经想到被破解的问题,通常会对通信指令进行加密,比如,我在我的产品当中,通常会采用动态加密算法,即使是同样的一条指令,每次加密的结果都是不一样的,接收端如果接收到和上次一样的指令,则不会执行,这样就防止从通信链路上进行破解的可能。如果是这种情况,从通信链路上破解的难度会非常非常大。
逆向工程
单片机存储器加密,很多单片机都有防止读出的功能,尤其是内部存储器,一旦被加上Write Only标志,意味着内部存储器只能写入不能被读出,这种情况破解难度也会增加很多。可能需要对芯片进行肢解,打磨。这种破解的难度和费用也是非常高的。
最后,知识产权是受到合法保护的,支持技术创新和知识产权保护,尽量不要去破解别人的东西,可以相互学习借鉴,但是直接复制别人的东西是违法的。