gcc -m32 -g -save-temps hello.c //生成hello.i,hello.s,hello.o
readelf -h hello.o //读取文件头
c = 预编译 汇编 elf (重定位)a.out
objdump -d hello //查看汇编代码
readelf -S hello //查看这个elf文件
readelf -h hello //读取文件头
pe文件和elf文件都是由coff发展过来的
od hello | head -5 //查看头的8进制格式
od -A x hello |head -5 //查看头的16进制格式
od _A x -t x1z hello |head -5 //查看头的16进制形式并解析文本
file hello //查看文件类型
readelf -l hello //查看programe头
代码 数据 局部变量 so
gdb用法:
start
disas //查看指定函数的汇编
i functions //查看binary的所有函数名字
disas $pc //查看当前运行到的地址
i proc mappings //查看当前的内存布局
l //查看源代码
xxd //以文本格式打开文件