应该就可猜袭以。
所谓的机器码应该就是二进制文件吧?
MPLAB IDE 可以进行反汇肆兆灶编(相信它也是最准确最全的PIC反编译工具)
。具体步骤如下:
1.
启动MPLAB IDE 执行Configure菜单下的Select Device选择好芯片
.
2. File菜单下Import导入要反编译的HEX文件
.
3.View菜单下Program Memory 查看程序存储器的内容
,
在程序存储器内容显示窗口的左下角切换到Machine或Symbolic,
在这个窗口上就可以看到每裂扮一个地址和HEX文件对应的ASM“反编译”就是察看源代码,其实最佳的PIC“
反编译”工具就是MPLAB-IDE,也具有察看源代码的功能。不过大家要注意
,
由于PIC采用分页技术,“反编译”后的源程序再次编译后一般FILE-->IMPORT-->IMPORT TO MEMORY -->调入.HEX文件(你的机器码应该是bin文件或者hex文件,都差不多了!)
然后再WINDOW中打开PROGRAM MEMORY窗口,就得到了源程序
注意所有未用的程序段反汇编后全部成了XORLW 0FFH
首先你得清楚,微软的exe可执行文件(即PE文手信蔽件,有PE规范定义)的特征,才能使用不同的反编译软件对exe进行反编译。如今,exe一般分托管代码和非托管代码两类(托管代码是由C#等语言生成的.NET运行时库支持运行的中间代码,不是CPU芯片可直接执行的二进制机器码;而非托管代码是CPU芯片看执行的机器码)
非托管代码反编译后,其实就是简单的将二进制机器码用汇编表示,所以是汇编语言。
托管代码反编译,好的反编译器直接将中间语言字节码反编译成高级语言代码,如C#
------------------------------------------------------
另外,在什毕州么平台运行的exe正确反编译(需要选择正确坦羡的芯片结构)为同平台的汇编语言。
如嵌入式ARM芯片上运行的Win CE系统上的exe就应当正确反编译为ARM汇编
x86的就应当反编译为x86汇编。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)