一般是不可以的,单片机程序都有解密的,不过也有专门的解密人员。[采用智能卡芯片平台的加密芯片,本身就可以有效防护这些攻击手段,将MCU中的部分代码或算法植入到加密芯片内部,在加密芯片内部来执行这些程序,使得加密芯片内部的程序代码成为整个MCU程序的一部分,从而可以达到加密的目的,因为MCU内部的程序不完整,即便被盗版了,由于缺少关键代码,也无法进行复制。
其代码才有意义,所以你把加密后的代码写入另外一个单片机,肯定无法正常运行。如果没有被加密,读出的代码写入另外一个同型号单片机是没有问题的。至于反汇编,在你想彻底了解代码的意思时才用的着,对于不同的单片机,汇编语言不同,反汇编的工具也就不一样,看是什么单片机了。第一看单片机的型号,第二看加密的程度,你像在出厂时就已固化程序的芯片,是不能读出的。一般的,列,在烤程序后如果没有选择最高级别的加密,用相应的编程器是能读出的,但读出的只是二进制或十六进制的代码,不管你的目的是什么,但一定要尊重原程序员的劳动成果。
这个问题嘛。你可以这样理解:你先利用烧录软件把你烧好的软件给读出来,然后反汇编就可以看到源程序代码了,不过在这个地方要注意了,如果你的源程序是汇编的话,那就要考虑兼容性的问题了,不是一个厂商或型号的MCU是不可以互相移值的,汇编的缺点就是兼容性、移值性差。可以是可以,不过以你的本事搞不定,要抄代码,是需要专业的设备和技术的,因为单片机的Flash通常都加密的,虽然难度不大,但是非专业人员想抄出来不是很容易,现在很多的电子市场都有代抄代码的,可以花钱让他们去抄,不过又比较贵,难度越大的单片机越贵。最好你还是把自己的本事练习出来。
可以的,如果单片机支持,而且没有加密,通过读写软件可以把单片机的程序读出来,就像你说的U盘一样。单片机的加密是防止其它人读出机器代码,不会影响擦除操作的。不能烧程序的原因:如果采用的是通用型编程器,可能你没有执行擦除操作就直接编程了;烧录设备故障或下载线故障,如果是串行下载方式,不同的单片机可能会有一些特殊要求,比如STC的单片机有些情况下就要求将P,P。
暂无评论内容