接上ICD,然后选debugger,中的selecttools中的MPLABICD,连接上ICD,,选择debugger菜单中的Read就能把程序读进来。在VIEW菜单中的ProgramMemory就能看到程序。但是要付费的。不过,能真正解密的单片机并不多,也都是一些早期的产品。另一方面,就算是能读出了,读出来的机器码,即是bin格式的,需要反编译才能读和修改,不过,多数人解密就是为了仿造,根本不想改,也改不了。所以,如果想仿造的,需要硬件完全一样的仿造,读出来的程序也是按原样的用。
程序是通过软件翻译成hex文件,也就是二进制代码(机器语言),通过下载,烧入单片机中,单片机把程序放在内存中执行。第二步:在仿真器的计算机端软件中,利用反汇编功能,打开刚才保存的HEX格式文件,如果单片机内的程序在编译时设置了允许注释,那么,您可以很快得到原程序代码(汇编语句),如果没有注释,那只好根据反汇编的出来的语句(汇编代码),去查询指令代码表,人工翻译出来,对一些跳转地址。
用“写入器”,就可以读出,前提是上次写入时没有加密。ICD,Microchip公司推出的一款功能强大的在线调试器,它支持与PIC单片机系列的通信和编程。通过ICD,开发人员可以在不将单片机从目标系统中移除的情况下,对单片机进行编程、调试和数据分析。这使得开发人员能够在真实的系统环境中对单片机进行实时的修改和测试,大大提高了开发效率。在使用ICD。
有的芯片已经加密,读出来就要专门的解密软件和破解人员(电子城里有许多做这种生意的,给人解密)才行,一般人读不出.没加密的芯片用烧写软件直接就可以读出了,不过不管怎样,读出的都是二进制或十六进制码,(一般看不懂),你想看到源程序的话还行专业人业进行反编译,这也是较难的工程。这个问题嘛。你可以这样理解:你先利用烧录软件把你烧好的软件给读出来,然后反汇编就可以看到源程序代码了,不过在这个地方要注意了,如果你的源程序是汇编的话,那就要考虑兼容性的问题了,不是一个厂商或型号的MCU是不可以互相移值的,汇编的缺点就是兼容性、移值性差。
暂无评论内容