- UID
- 871057
- 性别
- 男
|
工程师编写单片机程序的时候一般是采用用汇编语言或高级语言(C或C++)编写的,这些程序代码叫原代码,当程序编写完成后,经过编译软件或编译器 的编译生成可以烧录到单片机ROM存储区里的文件,不同型号的单片机的编译器生成的文件后缀是不同的,但是常用的BIN和HEX文件,这些生成的文件在解 密行业里叫机器代码,及机器码,这样的机器码是在单片机里运行的,也可以说是只有机器能够读懂的。而反汇编即是指将这些执行文件,即机器码反编译还原成汇 编语言。但通常反编译出来的程序与原程序会存在许多不同,虽然执行效果相同,但程序代码会发生很大的变化,如果是语句比较多的汇编,一般人很难读懂,需要 自己加注释,然后去一条一条的读,是需要一定的毅力的,我曾经为了分析一个芯片的反汇编代码,花费了一周的时间。所以说并不是反汇编后有了原程序,就一切 都明白了,更多的是需要工程师的技术分析。
反汇编的方法有手工反汇编和软件反汇编,现在的单片机规模越来越大,嵌入的代码也越来越多,那么就给手工反汇编带来了很多麻烦,需要大量的时间,使用软件反汇编是理想的方式,只要有了反汇编的软件,在计算机里运行后很快就可以完成反汇编工作。 |
|