也就是说,读出来的是二进制码,我们看不懂了,也就没有参考价值了,是吗?
追答不是。直接读出来的是二进制代码,但MPLAB会帮你把这个代码翻译成类似 MOVWF、 ADDWF等之类的汇编代码。
比如MOVWF 10H什么的(是指把10H这个地址的变量赋值给W工作寄存器)这个10H可能指源程序中的某个变量的地址。如果你对汇编不是很熟悉的话,很难了解程序的大致结构的。对于一个三四千行的程序,与其这样拷贝出来费脑子理解意思。还不如自己想想怎么写,特别是对于初学者,更不知道程序写得是什么东西了。这种方法仅限于那些老手必须破解竞争对手产品中的某些协议指令。
可以这杨假设,如果你能读懂MOVWF 10H之类的汇编指令,你就不会来问这个问题了,因为你自己知道该怎么做。所以初学者的话想参考程序还是找些MPLAB自带的例程(汇编的)或者是PICC编译器的例程(C语言的) 把
恩,我是不知道如何把程序读出来的,汇编我能看懂一点的,我想只要读出来还是有一点参考价值的,恩,高手啊,你啊能,给个具体步骤的啊,就是如何把单片机中的程序读出来的,谢谢了啊
追答我只用过ICD2来读芯片信息,其他的PICKIT神马的编程器仿真器操作都类似。
1首先ICD2要接好电脑和要读的PIC芯片的目标板上的ISCP口。在MPLAB的Debugger里配置好ICD2的信息(最好用带USB口的ICD2或者ICD3,用串口的ICD配置不好配。),目标板上电。
2然后MPLAB里建立好一个project,配置芯片型号的时候要和目标板上的PIC芯片型号一致否则会有问题。
3因为第一步配置好了ICD2,所以菜单栏的Debugger里的选项会多出一些来。点击其中的“Read”。过几秒应该就读进来了。如果是加密的就读不了,应该会有提示的。然后在菜单栏中的“view” -> “Disassembly Listing”就能看到。
补充一下:如果Disassembly Listing选项看不到的话,就看看view下面的其他选项,具体我忘了。好久不玩PIC的代码破解了
对的啊,就是芯片里的程序呢,可以拷出来参考吗?
追答如果没有加密可以拷出来的 我试过