当我在观看他的一部分视频时遇到问题时,我正在关注关于二进制利用的 liveoverflow 课程。在视频中显示了一个链接到调用函数 puts 的库的二进制文件,在视频中显示,在第一次执行该函数之前,GOT 是空的,并且二进制文件无法知道函数所在的位置,当我编译我的 ELF 二进制文件时,我发现在 _start 函数甚至被调用之前,这些地址都填充了 puts 的地址。我真的不明白为什么会发生这样的事情。
当我在观看他的一部分视频时遇到问题时,我正在关注关于二进制利用的 liveoverflow 课程。在视频中显示了一个链接到调用函数 puts 的库的二进制文件,在视频中显示,在第一次执行该函数之前,GOT 是空的,并且二进制文件无法知道函数所在的位置,当我编译我的 ELF 二进制文件时,我发现在 _start 函数甚至被调用之前,这些地址都填充了 puts 的地址。我真的不明白为什么会发生这样的事情。