我有一个英特尔十六进制格式的文件,它取自 pic16F1705 芯片。我需要找到一种方法将它反汇编成某种形式的人类友好的编程语言,以便对其进行一些修改。我尝试通过 x86 和 x64 反汇编程序运行它,但在这两种情况下我都得到了一个输出,看起来像汇编代码,但在这两种情况下都有大约 4000 行坏行。我的问题是我应该如何反汇编这个文件,以便我可以用一些人类友好的编程语言读取它并修改它?
0: 02 00 add al,BYTE PTR [eax]
2: 00 04 00 add BYTE PTR [eax+eax*1],al
5: 00 fa add dl,bh
7: 10 00 adc BYTE PTR [eax],al
9: 00 00 add BYTE PTR [eax],al
b: 80 31 0f xor BYTE PTR [ecx],0xf
e: 28 ff sub bh,bh
10: 3f aas
11: ff (bad)
12: 3f aas
13: 7e 14 jle 0x29
15: 80 31 20 xor BYTE PTR [ecx],0x20
18: 00 7f 08 add BYTE PTR [edi+0x8],bh
1b: a2 10 00 10 00 mov ds:0x100010,al
20: f0 00 04 2e lock add BYTE PTR [esi+ebp*1],al
24: 70 08 jo 0x2e
这些是我通过 x86/x64 反编译器运行十六进制后得到的一些输出示例行。