首页 > 解决方案 > 将函数符号从 symtab 导出到 dynsym

问题描述

我的目标是使符号可见以dlsym备将来使用。

目前所有符号都在.symtab

我尝试使用LIEF导出它们,但总是Exec format error在修改后得到

我的精灵文件: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, not stripped

据我所知,符号必须位于动态表中才能使用dlsym,但还没有找到任何可以做到这一点的东西。

标签: reverse-engineeringelfdebug-symbols

解决方案


据我所知,符号必须位于动态表中才能使用 dlsym 访问

正确的。

但还没有找到任何可以做到这一点的东西。

重建动态符号表以使其包含新符号非常复杂(您还需要重建.hashor .gnu.hash),因此我对您找不到任何可靠地执行此操作的工具并不感到惊讶。

您可能应该寻找另一种方法来实现您想要实现的任何目标(另请参见XY 问题)。


推荐阅读