函数指针使用的地址

时间:2018-01-30 17:19:52

标签: c function-pointers x86-64 disassembly

这个问题与大学任务有关,所以我要保持抽象,不要泄露挑战的任何部分。

鉴于已编译的C程序(Linux上的x86_64 ELF),有没有办法知道,只需从反汇编中,该程序内部的函数指针将指向一个特定函数(也在程序内部)在程序的任何执行中,而不是外部库)?是否可以仅从反汇编中该函数的地址推断完整地址?

例如,如果程序包含指针:void (*ptr) () = &someFunc;,那么ptr的内容是否可以从反汇编中someFunc的地址中推断出来?

1 个答案:

答案 0 :(得分:1)

所以我设法解决了这个问题。事实证明,函数指针使用的地址是反汇编中的确切地址。最后,我想通过gdb逐步查看寄存器的内容。