这个问题与大学任务有关,所以我要保持抽象,不要泄露挑战的任何部分。
鉴于已编译的C程序(Linux上的x86_64 ELF),有没有办法知道,只需从反汇编中,该程序内部的函数指针将指向一个特定函数(也在程序内部)在程序的任何执行中,而不是外部库)?是否可以仅从反汇编中该函数的地址推断完整地址?
例如,如果程序包含指针:void (*ptr) () = &someFunc;
,那么ptr的内容是否可以从反汇编中someFunc的地址中推断出来?
答案 0 :(得分:1)
所以我设法解决了这个问题。事实证明,函数指针使用的地址是反汇编中的确切地址。最后,我想通过gdb逐步查看寄存器的内容。