Android &引用;vtable“;在转储结果中
我正在做一些关于dexdump的研究。现在,有一个问题让我困惑。 当您查看dextump结果时,您会在代码中找到“vtable”,如下所示:Android &引用;vtable“;在转储结果中,android,assembly,vtable,Android,Assembly,Vtable,我正在做一些关于dexdump的研究。现在,有一个问题让我困惑。 当您查看dextump结果时,您会在代码中找到“vtable”,如下所示: 000854: fa20 a900 4300 |0000: +invoke-super-quick {v3, v4}, [00a9] // vtable #00a9 00085a: 1500 037f |0003: const/high16 v
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”实际上链接到了什么吗?
有关于这个的文档吗?vtable可能代表“虚拟表”。这是一种实现虚拟函数的方法(如果你说你使用java是因为android在这里,在java中所有函数都是虚拟的),所有虚拟函数都在函数指针数组中。所以vtable#00a9可能意味着虚拟表中的偏移量00a9