|
发表于 2013-12-8 10:50:46
|
|阅读模式
第一次做反汇编。本来以为很困难,结果进展神速。如果知道原程序在做什么,做反汇编就容易多了。
这个反汇编不是为了盗版,而是想改嵌入程序,把硬件做其它用途。
原来以为原程序是用C写的。现在看起来,是用汇编写的。这样反而容易解开。
反汇编首先就是把标签一个个改成有意义的东西。
比如,读按钮,写入闪存,等等。这样原来的数字渐渐就变得有意义了。
估计几天就能全部解开。
当然需要了解各端口的用途。以下是一段例子, write_flash 等文字原来是类似 Q063F 之类没有意义的数字。看懂以后就改成有意义的标签。
Q064A: ACALL Q0699
ACALL write_bit
MOV A,DPH
RLC A
ANL A,#0EH
ORL A,#A1H
ACALL write_flash
ACALL read_bit
JC Q064A
ACALL read_flash
AJMP Q067B
Q065F: MOV R0,#40H
Q0661: MOV R7,#10H
Q0663: ACALL Q0699
Q0665: MOV A,@R0
如果有人需要做反汇编,可以和我讨论。
|
|