我正在使用线性反汇编器 (beaEngine),每当我到达跳转表部分时,我都会收到一个错误(或错误的解码,因为 beaEngine 错误地认为它是代码)。
我怎样才能把这个部分识别为一个跳转表?跳表的特点是什么?
通过第 3 方应用程序找到的跳转表示例:
.text:600F49CB dd 偏移 loc_600F496E .text:600F49CB dd 偏移 loc_600F4984 .text:600F49CB dd 偏移 loc_600F4979 .text:600F49CB dd 偏移 loc_600F4979 .text:600F49CB dd 偏移 loc_600F4984 .text:600F49CB dd 偏移 loc_600F499E .text:600F49CB dd 偏移 loc_600F499E .text:600F49CB dd 偏移 loc_600F498F .text:600F49CB dd 偏移 loc_600F498F
为了澄清和回答评论中提出的问题:这个可执行文件确实有一个重定位表。但是,beaEngine 似乎没有使用它,因为我向它提供了一个字节流而不是整个二进制文件。
能否通过重定位表来理解是否是跳转表并计算其长度?对于我检查过的一个示例,它似乎确实有效。