提问人:Xiaoyong Guo 提问时间:6/29/2022 最后编辑:Xiaoyong Guo 更新时间:7/1/2022 访问量:594
如何从 ELF 文件中获取静态初始化全局变量的值?
how can I get the value of static initialised global variables from ELF file?
问:
例如,我有以下 c++ 源文件
// define global variables here
int Label = 1234;
char Hash[] = "0x11231abc";
将其编译为 *.o 文件,稍后可能会链接到可执行二进制文件。是否可以使用一些现有工具(如 readelf、objdump)从 ELF 文件中获取值?
答:
3赞
Employed Russian
7/1/2022
#1
是否可以使用一些现有工具(如 readelf、objdump)从 ELF 文件中获取值?
这是否可行取决于这些变量的使用方式,它们是局部变量还是全局变量,它们是否具有地址,使用哪个编译器以及有效的优化。
如果变量是全局变量,并且代码未优化,那么 和 命令的某种组合可能会为您提供答案。readelf
objdump
一般来说,GDB 会是一个更好的工具。
评论