2013-01-17 2 views
0

나는 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"실제로 연결 알고 있나요 : 당신이 dexdump 결과를 보면 , 당신은이 같은 코드에서 "vtable에"찾을 수 있나요? 이에 대한 문서가 있습니까?

답변

1

vtable은 "가상 테이블"을 의미합니다. 그 가상 함수를 구현하는 방법 (그리고 만약 당신이 안드로이드 때문에 자바를 사용하고 있다고 말한다면 java의 모든 함수는 가상입니다) - 모든 가상 함수는 함수 포인터의 배열에 있습니다. 그래서 vtable # 00a9 아마 가상 테이블에 00a9 오프셋을 의미합니다.

관련 문제