dexdump结果中的“vtable”

时间:2013-01-17 05:26:59

标签: android assembly vtable

我正在研究dexdump。现在,有一个让我困惑的问题。 当您查看dexdump结果时,您会在代码中找到“vtable”,如下所示:

000854: fa20 a900 4300                         |0000: +invoke-super-quick {v3, v4}, [00a9] // vtable #00a9    
00085a: 1500 037f                              |0003: const/high16 v0, #int 2130903040 // #7f03    
00085e: f820 ef00 0300                         |0005: +invoke-virtual-quick {v3, v0}, [00ef] // vtable #00ef    
000864: 1500 057f                              |0008: const/high16 v0, #int 2131034112 // #7f05    
000868: f820 7200 0300                         |000a: +invoke-virtual-quick {v3, v0}, [0072] // vtable #0072    
00086e: 0c00                                   |000d: move-result-object v0

有人知道“vtable”实际链接到了什么? 有没有关于此的文件?

1 个答案:

答案 0 :(得分:1)

vtable可能代表“虚拟桌子”。它是一种实现虚函数的方法(如果你因为android在这里你正在使用java,在java中所有函数都是虚拟的) - 所有虚函数都在一个函数指针数组中。所以vtable#00a9可能意味着将00a9偏移到虚拟表中。

相关问题