nefarius / Indicium-Supra

DirectX API-hooking framework
MIT License
310 stars 56 forks source link

DX12 - Shadow of the tomb raider crash #14

Closed Symbai closed 5 years ago

Symbai commented 6 years ago

Describe the bug Tried pre-compiled x64 dlls with your precompiled injector on Shadow Of The Tomb Rider which runs with DX12 for me on Windows 10. Game crashed, no error nothing just instantly closes itself.

To Reproduce Steps to reproduce the behavior:

  1. Inject dlls into the process
  2. Crash

Expected behavior No cash

Screenshots /

Please complete at least the following information:

Logs Where do I find them?!

nefarius commented 6 years ago

How exactly did you inject them? Logs are here %TEMP%\Indicium*.log

Also try the binaries from the master branch as well, what you downloaded is a feature branch which might be unstable.

Symbai commented 6 years ago

I followed your instructions via cmd ->

Injector -i -n SOTTR.exe Indicium-Supra.dll Indicium-ImGui.dll

got message both were injected successfully. I cannot build the source myself so I can only use the artifacts from the build server on appveyor.

Log file named 'Indicium-Supra.log':

2018-09-24 23:10:29.930 IndiciumEngineInit [Information]: Indicium engine initialized, attempting to launch main thread
2018-09-24 23:10:29.933 IndiciumEngineInit [Information]: Main thread created successfully
2018-09-24 23:10:29.939 IndiciumMainThread [Information]: Library loaded into \Device\HarddiskVolume7\Steam\steamapps\common\Shadow of the Tomb Raider\SOTTR.exe
2018-09-24 23:10:29.942 IndiciumMainThread [Information]: Library enabled
2018-09-24 23:10:29.945 IndiciumMainThread [Information]: Initializing hook engine...
2018-09-24 23:10:29.948 IndiciumMainThread [Information]: Hook engine initialized
2018-09-24 23:10:29.951 IndiciumMainThread [Error]: Hooking D3D9Ex failed: Runtime exception: Could not get the handle to d3d9.dll
2018-09-24 23:10:29.954 IndiciumMainThread [Error]: Runtime exception: Couldn't get handle to D3D10.dll
2018-09-24 23:10:30.018 IndiciumMainThread [Information]: Hooking IDXGISwapChain::Present
2018-09-24 23:10:30.054 IndiciumMainThread [Information]: Hooking IDXGISwapChain::ResizeTarget
2018-09-24 23:10:30.090 IndiciumMainThread [Information]: Hooking IDXGISwapChain::ResizeBuffers

//edit: Btw using the same way on DX9 games like Divinity Original Sin 2 and it works absolutely fine. Just this DX12 game crashes. So its either this game or the fact that it runs with DX12 that causes problems.

nefarius commented 6 years ago

Do you have an %TEMP%\Indicium-ImGui.Plugin.log file as well?

I don't own any DX12 games myself so that part is completely untested. Plus, there's no DX12 part implemented in the ImGui sample so even if it doesn't crash you won't see anything, just FYI.

Could you elaborate why you couldn't build it? I'd like to have that resolved if there's a technical issues, thanks!

Symbai commented 6 years ago

No, that was the only log file generated. Guess the crash starts before this log gets created.

No worries, just wanted to see if it works and reported this issue in case you are interested to know.

I stuck at Vcpkg, never used this before. No idea how to install this. There were some (linux?) console commands at the github page but no idea what to do. Looking for an installer or something but didn't found. I also don't have git and I don't want to install external software and all that stuff just to run the assemblies and see how it works only.

nefarius commented 6 years ago

Well, you can't expect to build software nowadays without some external tools 😉 I don't really know what to recommend here; maybe the fix is simple but I have no game to debug and you no debugging tools so... I could try to increase logging verbosity in a future release.

nefarius commented 5 years ago

Guess this conversation died, closing.