📄 readsoname.c
字号:
/* adapted from Eric Youngdale's readelf program */#include <stdio.h>#include <string.h>#include <sys/stat.h>#include <sys/mman.h>#include <link.h>#include <elf.h>#include <unistd.h>#include <sys/types.h>#include "../config.h"#include "readsoname.h"void warn(char *fmt, ...);char *xstrdup(char *);struct needed_tab{ char *soname; int type;};struct needed_tab needed_tab[] = { { "libc.so.5", LIB_ELF_LIBC5 }, { "libm.so.5", LIB_ELF_LIBC5 }, { "libdl.so.1", LIB_ELF_LIBC5 }, { "libc.so.6", LIB_ELF_LIBC6 }, { "libm.so.6", LIB_ELF_LIBC6 }, { "libdl.so.2", LIB_ELF_LIBC6 }, { NULL, LIB_ELF }};char *readsoname(char *name, FILE *infile, int expected_type, int *type, int elfclass){ char *res; if (elfclass == ELFCLASS32) res = readsoname32(name, infile, expected_type, type); else { res = readsoname64(name, infile, expected_type, type);#if 0 *type |= LIB_ELF64;#endif } return res;}#undef __ELF_NATIVE_CLASS#undef readsonameXX#define readsonameXX readsoname32#define __ELF_NATIVE_CLASS 32#include "readsoname2.c"#undef __ELF_NATIVE_CLASS#undef readsonameXX#define readsonameXX readsoname64#define __ELF_NATIVE_CLASS 64#include "readsoname2.c"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -