测试在 32 位 x86 Linux 上进行,版本为g++
4.6.3。
所以基本上我使用IDA pro 脚本从语言编译的二进制文件中恢复.gcc_excpt_table
和.eh_frame
部分C++
。
基本上我想在从这个C++
ELF 二进制文件反汇编的新汇编代码中重用这两个异常处理表的转储信息。
我把这两个表放入反汇编器生成的汇编代码中,解决了所有模块内地址问题(基本上将具体地址转换为符号)并重新编译如下:
g++ final.s
但是,有三个符号找不到,或者我只是不知道如何定义它。
_Unwind_Resume
未定义__FRAME_END__
未定义- 好像是
eh_frame
需要.plt
table的起始地址,但是.plt
编译的时候有没有办法获取table的起始地址呢?我知道我可以用符号_GLOBAL_OFFSET_TABLE_
来表示 table 的起始地址.got.plt
,但是快速搜索后,我只是不知道是否有类似的符号表示.plt
table。