Die V-Tables muss man nicht suchen, weil sie schon da sind, man muss nur die Nummern wissen. :P
Wenn du deine DLL in Ida anschaust oder Olly was hast du davon du expotierst sie ja nicht wirklich, du fängst sie nur zur Laufzeit ab und hängst dein Käse mit rein um die richtige Funnktion zu sehen mußt du schon die D3D9.dll laden viel wirst du da eh nicht sehen ist eben nur die EndScene, könntest auch die BeginnScene hooken ist genau das selbe wird nur als erstes gerendert.
Die EndScene hat eigentlich gar nicht so wichtig beim Hooken brauch man sie eigentlich garnicht du kannst ja direkt Direct3DCreate9 ansprechen bei einem Spiel da läuft es automatisch durch die EndScene da es ja gerendert werden muss, ist eben nur der Knotenpunkt wo alles zusammenläuft.
Und wenn du die EndScene suchst geht es wie oben schon gesagt, ein Spiel erstellt ein Fenster im also W32-Anwedung meist findest du weit oben auch wieder den Begriff "Direct3DCreate9" da es nicht gesagt ist das ein Spiel auf die EndScene zugreift sondern direkt auf den läuft alles auf Direct3DCreate9 hin auf deutsch auch der DevicePointer genannt.
Einfachst art ihn zu finden Spiel starten oder was auch immer mit Dx zutun hat, mit Ollydbg attachen und dann in das Module gehen kann die exe sein oder auch ein DLL je nach Spiel unterschiedlich.
Dann Rechtsklick -> search for ->All intermodular calls so dann haste schonmal eine Liste was alles in dein module reinläuft.
klickste oben nochmal auf Destination dann ist es etwas geordnet und da siehst du auch wenn was aus der d3d9.dll kommt meist ist es eben Direct3DCreate9 oder auch die EndScene das ist von Spiel zu Spiel anders und es muss nicht immer die exe sein kann auch aus einer DLL kommen wie bei der Battlefield-Series kommt alles aus der RenderDx9.dll
Gibt eben mehrere möglichkeiten wie du es machen kannst, kannst auf die EndScene zugreiffen oder direkt Device ansteuern, gerendert wird alles so oder so.
Vorteil bei den DevicePointer ansprechen den kannst du in deinem Arbeitsspeicher auf X-beliebige Adressen legen mittels Detour.
Am besten lädst du dir ein DirectXFenster wo runter und übst da, da ist es sehr leicht weil es nicht wirklich viele Funktionen sind die da reinlaufen, da hat man einen schönen Überblick und es ist nicht so schwer wie bei einem Spiel.
Den DevicePointer kriegst du dann leicht bei Olly in dem ESP-Register raus.
Und mal was am Rande wenn du auf den Device gehst brauchst du nicht den Pointer du kannst auch die Funktion mittendrin Hooken kommt weit besser, entgeht oft der Detection auch bri Hackshield, wenn es nur einer cleaner ESP-Hack sein soll.
Aber das ist alles noch recht leicht, man kann viel zu sagen weit schwerer wird es dann wenn den den playermanager brauchst weil ohne Playermanager kein Spieler angaben und ohne Spieler wo sollen die Boxen,Namentags,Distancetags etc hin

das ist weit schwerer zu finden.
Befass dich lieber mit Ollydbg mit IDA ist richtig gut um sich die Funktionen anzuschauen aber mit Olly die vorarbeit leisten ist weit besser, da hat man es auch in IDA leichter.
Wie du es machst ist dir überlassen, viele wege führen nach Rom,der Weg der für dich am leichtesten ist mußt du selber finden und gehen.
Wirklich gute Tut's dafür kenne ich nicht die meisten sind nur Bruchteile und das jemand richtig zu erklären ich glaube da kann man schon ein kleines Buch schreiben drüber, man lernt aus den erfahrung also Denken - Probieren - Denken - Probieren es wird oft in die Hose gehen aber wenn man es dann geschaft hat weiß man wie es geht aber das braucht Zeit.
kauf dir noch ein gutes Directx-Buch wo du was über die Directx-Caps lernst die sind auch sehr brauchbar.
Gutes Buch ist das find ich von meinem DX-Büchern am besten und da hab ich 7 stück.