binary hack 笔记
看起来挺有趣的书
果然自己还是懂得太少了
ELF(Executable and Linking Format) 可执行可链接格式
od {-t [c/x1/x1z...]} [file]
将文件转为[字符/ 十六进制 / 十六进制后显示字符]格式,默认为8进制
readelf -h [file]
读取elf格式头信息
静态链接库
ar ruv libfoo.a foo.o bar.o #打包静态链接库
ar tv libfoo.a #查看库中内容
cc -o baz.o -lfoo #链接libfoo.a到baz.o
动态链接库
gcc -fPIC -c add.c #生成.o文件,PIC:position independent code
gcc -shared -o libmymath.so subtract.o add.o #生成动态链接库
gcc -o libmymath.so -fPIC -shared subtract.c add.c #将两步命令合为一步
gcc main.c -L. -lmymath
同时有静态动态链接库时优先链接动态链接库
objdump -d hello.o
反汇编