gpt4 book ai didi

function - 在 ELF 中查找函数的起始偏移量

转载 作者:行者123 更新时间:2023-12-02 08:03:29 24 4
gpt4 key购买 nike

假设我在 ELF64 可执行文件的 .text 部分中有函数 fn 。有没有办法知道 fn 函数位于距 ELF 文件开头的哪个偏移量(以字节为单位)?请注意,我不需要知道它在链接时被重定位到哪个 VA,而是需要知道它在 ELF 文件中的位置。

最佳答案

通常是的,如果您可以直接解析 ELF 文件或结合 objdump 和 readelf 等工具的输出。

更具体:您可以使用“readelf -S file”获取 .text 部分的偏移量和虚拟地址 - 将其写下来。此外,您可以使用“readelf -s file”列出符号,只要您的可执行文件未被剥离,并且您的函数是可见的(不是静态的或在匿名命名空间中),那么您应该找到您的函数和它的虚拟地址。

因此您可以通过

计算偏移量

fn symbol offset = fn symbol VA - .text VA + .text offset

假设您想使用常用工具“离线”执行此操作。如果您无法访问未剥离的 ELF 文件,则情况会更加困难,并且由于 ELF 文件中只有一部分保留在内存中,因此如果不使用“离线”技巧添加一些信息,可能是不可能的。

关于function - 在 ELF 中查找函数的起始偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40237321/

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