静态编译

今天由一道入群题入手之后了解到了静态编译这个知识:

1.静态编译:

编译器在编译可执行文件时,把需要用到的对应动态链接库(.so或.ilb)中的部分提取出来,链接到可执行文件中去,
使可执行文件在运行时不需要依赖于动态链接库.

2.动态编译:

动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其优点一
方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。

然后静态库的连接与使用看

IDA使用sig文件的说明看
但是我的libc.a是在/usr/lib/x86_64-linux-gnu下的并不是这篇博客的libx32下的
然后这道题好像因为glibc版本的关系,还是有一些库函数没被解出来,所以我被迫爆破出了flag…