Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Losowanie gry bez wyraźnego wezwania do prezentacji
#1
Próbuję podłączyć kilka funkcji renderowania w grze D3D11, zaczynając od Present.   Gra importuje pliki d3d8thk.dll, d3d9.dll, d3d11.dll, dxgi.dll i dxgidebug.dll.   Debugery ogólnego przeznaczenia, które wypróbowałem (stara darmowa wersja IDA, Olly, CE) nie pokazują, że Present został zaimportowany.   RenderDoc (bardzo fajny program, spróbuj jeśli nie masz http://cryengine.com/renderdoc) pokazuje, że jest wywoływany na końcu ramki, zgodnie z oczekiwaniami, i zgodnie z jej dziennikami nie dzieje się nic dziwnego w ramce .   Oto importowane funkcje według IDA:     http://w30i.imgup.net/d3d11_with2beb.png   A import / eksport z CE:     http://x25t.imgup.net/ce_iab230.jpg   Jak widać, niektóre wyeksportowane funkcje mają adres, który wskazuje na inną funkcję. Patrzenie na te lokalizacje w debugerze pokazuje, że ich brakuje.   Przechwytywanie wygenerowanych fabryk i swapchains w zwykły sposób wydaje się dawać prawidłowe obiekty, a ich zastępowanie nie zakłóca renderowania, chociaż zastąpienie wpisu vapable swapchain zwykle związanego z Presentem nie daje żadnego efektu.     Prawdopodobnie brakuje mi czegoś oczywistego, prawda?
Reply
#2
Spróbuj znaleźć rzeczywisty kod dla Present (możesz to uzyskać z vftable, jeśli masz tam ważne adresy) i umieść punkt przerwania z silnikiem cheat. Następnie po prostu odszukaj połączenia z powrotem.
Reply
#3
Dziękuję za pomoc. Poprawiony vtable był w stanie podpiąć Present.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)