为什么 elf 可执行文件的函数要加载到 x86 Linux 中对齐的地址?
我一直在研究 x86 上的 Linux elf 可执行文件,主要使用 IDA,但是 还有gdb。我注意到的一件事是函数总是被加载 在字对齐地址?有人知道其中的原因吗…
elf 加载器如何初始化全局变量
对于 C 中的全局变量,如 int aglobal = 5 加载器什么时候将 5 转移到 aglobal 中?它如何知道将 5 放入 aglobal 中。 函数中的静态声明的情况相同。…
ELF:链接:为什么我在 .so 文件中得到未定义的引用
我正在尝试针对 wxWidgets 构建一个程序,但出现链接器错误。我想真正理解这意味着什么。错误是: /usr/lib/libwx_baseu-2.8.so: undefined reference…
linux下如何将PE(Portable Executable)格式转换为ELF
将 PE 二进制文件转换为 ELF 二进制文件的最佳工具是什么? 以下是这个问题的简要动机: 假设我有一个简单的 C 程序。 我使用 Linux 的 gcc 编译它(…
什么是“对齐”?二进制格式的字段?为什么需要它?
在ELF文件格式中,我们在段头表(又名程序头表)中有一个对齐字段。 对于 Windows PE 文件格式,它们将其提升到下一个级别,这些部分有两个对齐值,一…
“本地链接器符号”和“本地链接器符号”之间有什么区别? & “本地程序变量”?
我想知道“本地链接器符号”和“本地链接器符号”之间的区别“本地程序变量”? 我正在读一本书,其中有: 替代文本http://img682.imageshack。 us/im…
a.out 替换为 ELF 文件格式?
我有几个问题: 为什么a.out被ELF取代? a.out 格式的主要缺陷是什么导致了 ELF 文件格式的兴起? 早期的核心转储基于 a.out,但现在它们基于 ELF。 E…
windows下有什么工具/软件可以查看ELF文件格式吗?
Closed. This question is seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. It does not …
读取 Elf 二进制中的 GOT 条目
我想写一个小函数的跟踪器。我用的是ptrace。 我在 ubuntu x86_64 上。我想找到共享库函数的地址(例如printf)。 但我有一些关于全局偏移表的问题和…
为什么 ELF 执行入口点虚拟地址的形式为 0x80xxxxx 而不是零 0x0?
执行时,程序将从虚拟地址0x80482c0开始运行。该地址并不指向我们的 main() 过程,而是指向由链接器创建的名为 _start 的过程。 到目前为止,我的谷歌…
如何加载共享库而不加载其依赖项?
假设我有一个库 libfoo.so.1,它依赖于(根据 ldd)libbar.so.1。但是,libbar.so.1 目前不可用。我的应用需要调用 libfoo.so.1 中的函数,而该函数根…