gpt4 book ai didi

c - libc 中的函数地址?

转载 作者:IT王子 更新时间:2023-10-29 00:16:03 26 4
gpt4 key购买 nike


我正在尝试获取 libc 中提供的函数 exit() 的地址(十六进制),但我不确定在哪里以及如何找到它。
任何人都知道如何找到它,请分享一些想法。谢谢!

最佳答案

如果您需要进程中已存在的 exit 函数的地址,请参阅 Grijesh 和其他人的回答。但是如果你需要通过名称​​解析libc的exit函数,比如因为libc的exit已经被另一个库shadow了,你可以获取它使用 dlsym:

#define _GNU_SOURCE     /* for RTLD_NEXT */
#include <dlfcn.h>
/* ... */
void (*exit_addr)(int) = dlsym(RTLD_NEXT, "exit");

要解析 dlsym,您需要使用 -ldl 进行链接。

关于c - libc 中的函数地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15301910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com