cost 105 ms
全局偏移表:“指向指针的指针”? 这是由加载程序处理的吗? - Global Offset Table: "Pointers to Pointers"? Is this handled by the loader?

这个问题是关于 Linux (Ubuntu) 可执行文件的。 我会按照我的理解详细说明,以便更清楚地了解是否有任何问题(因此请在适用的地方纠正我): GOT 充当额外的间接级别以允许从需要与位置无关的文本部分访问数据,例如因为文本部分可能是只读的并且数据的实际地址在(静态)链接时可能是未知的。 ...

识别全局偏移表中的条目 - Identify entries in a global offset table

我正在尝试编写一些 ELF 解析逻辑(在 C 中)。 具体来说,我试图确定 GOT 中的哪些条目对应于哪些功能。 我制作了一个简单的程序,其中包含对malloc和free的引用。 readelf -a a.out的一些相关摘录: 我知道如何使用.dynstr来获取.dynsym中符号的名称。 但是 ...

2022-07-02 17:30:13   1   33    elf / got  
使用 Typescript 构建得到 - Nodejs - Building Got with Typescript - Nodejs

我正在尝试将Got与 Typescript 和 ESM 一起使用,并且由于 Got 是用 typescript 本身编写的,我知道它应该很容易集成。 我什至遵循了 Got 的作者编写的这份指南,该指南非常详细且很有帮助。 但是,按照指南进行操作后,我无法构建任何东西! 我今天使用全新安装的 typ ...

可执行文件会通过 GOT 访问共享库的全局变量吗? - Will an executable access shared-libraries' global variable via GOT?

我最近在学习动态链接并尝试了一下: 动态的.c 测试.c 编译命令为: 我期待在可执行测试中,主要的 function 将通过 GOT 访问 global_variable。 然而,相反,global_variable 放在 test 的数据部分,并在 dynamic.so 中进行异或。所以间接访 ...

读取 stream (nodejs) 时,“无法 pipe。响应已经发出” - "Failed to pipe. The response has been emitted already" when reading a stream (nodejs)

所以我的代码应该从 CSV 文件中读取一些行,将它们转换为 JSON 对象数组,然后返回该数组。 要将文件读取为 stream,我使用got ,然后在fast-csv中使用它。 为了返回结果数组,我将整个内容放入 Promise 中,如下所示: 现在,当我调用它一次( await GetPage( ...

如何在全局偏移表中初始化不是函数的全局符号条目? - How are the entries for Global Symbols that are not functions initialized in the Global Offset Table?

所以我正在尝试了解动态链接。 在 amd64 上的 SysV ABI 上,可以通过过程链接表延迟加载来自其他共享库的函数,方法是初始化函数的 GOT 条目以指向其 plt 条目中的下一条指令。 这最终会将控制权传递给将加载库、更新 GOT 条目并跳转到函数的动态链接器。 现在对于其他不是函数的全局符 ...

了解 GOT(全局偏移表)和 PLT? - Understanding GOT (Global Offset Table) and PLT?

在写这个问题之前,我想强调一下,我自己做了几个星期的研究,阅读了数十篇文章,但这个问题仍然没有解决,我得到的解释根本没有意义(也许是因为我是连接世界的新手). 所以我希望有人能提供简单但非常详细的答案。 我知道 GOT(全局偏移表)帮助我们解析动态链接中从另一个引用的全局符号。 另外我读到:“每个 ...

为什么动态 ELF 文件中没有.rel.dyn/.got.plt 部分? - Why there are no .rel.dyn/.got.plt section in dynamic ELF files?

我有这样的代码 我用下面的代码编译它 我想如果运行readelf -S test_printf.so ,我会看到.rel.dyn和.rel.plt 。 这是因为这两个部分的行为类似于 static 链接程序中的.rel.data和.rel.text所做的。 例如,在我的程序中,由于printf是一 ...

管道 got.stream 到文件 - Piping got.stream to a file

我正在重构一些在 Node 中使用http模块的代码,以使用got代替。 我尝试了以下方法: finish事件从未触发。 文件 ( filePath ) 使用 0 个字节创建。 当我使用 Node http模块时,使用newFile的代码块是有效的。 pipe got.stream到文件的正确方 ...

为什么 MIPS GCC 在 function 调用(GOT 指针)之后从 16($fp)重新加载 28 美元,而没有先存储到 16($fp)? - Why is MIPS GCC reloading $28 from 16($fp) after function calls (a GOT pointer), without having stored to 16($fp) first?

我想我需要粘贴完整的代码,虽然它看起来很长。 我写了一个简单的代码进行测试。 组装后: 我意识到在每个 function 调用之后,都有一条lw $28,16($fp)指令。 但是我没有看到任何代码会首先在调用者或被调用者中存储一个值。 我可以阅读 MIPS 程序集。 我知道lw是加载字,以及 $ ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM