2.4.1反汇编的原理&为什么要用反汇编
arm-linux-objdump -D led.elf > led_elf.dis
objdump是gcc工具链中的反汇编工具,作用是由编译链接好的elf格式的可执行程序反过来得到汇编源代码
-D表示反汇编
> 左边的是elf可执行程序(反汇编的源)
> 右边的是反汇编生成的反汇编程序
反汇编的原因有以下:
1)逆向破解。
2)调试程序时,反汇编可以帮助我们理解,尤其是在理解链接脚本、链接地址等概念时。
3)把C语言源代码编译链接生成的可执行程序反汇编后得到的反汇编代码可以帮助我们理解C语言和汇编语言之间的对应关系。非常有助于深入理解C语言。
2.4.2反汇编文件的格式和看法
(汇编 assemnbly 反汇编 dissembly)
标号地址、标号名字、指令地址、机器码、指令机器码及汇编到的指令
扩展:ARM汇编中用地址池方式来实现非法立即数
2.4.3初识指令地址
下载烧录执行的bin文件,内部其实就是一条一条的指令机器码。这些指令每一条都有一个指令地址,这个地址时链接的