Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – ELF文件中的导入表在哪里?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在String table中找到了“.dynsym”,得到了索引. 然后我找到了sh_name = index&&的部分. sh_type = SHT_DYNSym. 所以我得到了sh_offset = 464和sh_size = 64. 但是你可以在附图中看到,在偏移464上只有零. 我想导入表在偏移528上开始.问题是:如何计算它%) But you can see in the attac
我在String table中找到了“.dynsym”,得到了索引.
然后我找到了sh_name = index&&的部分. sh_type = SHT_DYNSym.
所以我得到了sh_offset = 464和sh_size = 64.
但是你可以在附图中看到,在偏移464上只有零.

我想导入表在偏移528上开始.问题是:如何计算它%)

@L_674_0@

错误:上次我检查时,01,20,29,12等不是“仅零”.

不,不是的.出于某种原因,您希望在ELF文件中找到Microsoft PE样式的导入表.它不在那里.

ELF中的导入表的等效项包含在两个表中.一个包含Elf {32,64} _Sym固定大小的记录:

typedef struct
{
  Elf32_Word    st_name;                /* Symbol name (String tbl indeX) */
  Elf32_Addr    st_value;               /* Symbol value */
  Elf32_Word    st_size;                /* Symbol size */
  unsigned char st_info;                /* Symbol type and binding */
  unsigned char st_other;               /* Symbol visibility */
  Elf32_Section st_shndx;               /* Section index */
} Elf32_Sym;@H_197_32@ 
 

并包含在.dynsym部分中.

一个表包含在.dynstr部分中(在您的文件中以偏移量528开始),并且只有(可变大小)字符串由NUL字符分隔.

一个表中的.st_name引用.dynstr中的偏移量.

大佬总结

以上是大佬教程为你收集整理的linux – ELF文件中的导入表在哪里?全部内容,希望文章能够帮你解决linux – ELF文件中的导入表在哪里?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。