Open nuclearWinters opened 6 years ago
Possibly, definitely used to work with LoL, but it has been a long time since I tried. Would need to check the inner exception. If it is Code 5, then it is a permissions problem (ie game anticheat/ protection logic or similar preventing injection)
Same exception happening when trying to inject into Overwatch. Access denied. #60 might be of help, though I haven't tested it yet.
How do we go from here then?
I've looked into OBS Studio capturing method, since it can capture it no problem. How does their method work? Can we use it here?
OBS is probably whitelisted. Certainly that is the case with the protection in ARK and Fortnite.
It might be worth trying the stealth injection but I wouldn’t hold my breath.
If you are after screencapture, then you could use windows desktop duplication APIs, this requires no hooking at all, but requires Windows 8+
I just tried recording Overwatch using https://github.com/smourier/Duplicator and it shows up as black, as a result of Overwatch screenblock protection. So I guess the only way to go about this is to somehow manage to hook into OW.
If you are after screencapture, then you could use windows desktop duplication APIs, this requires no hooking at all, but requires Windows 8+
I want a screenshot every second and do computer vision with them in python simultaneously. I will try that.
@nuclearWinters @JouzaLoL Referring to @spazzarama https://github.com/spazzarama/Direct3DHook/issues/56
I modified CaptureProcess.cs to use SetWindowsHookEx CaptureProcess.zip
Use the uploaded file instead of existing one after changing a couple of lines. It should inject Capture.dll like it did for Call of duty Infinite Warfare for me; it was giving Access denied code 5
Next step is to use the LocalHook but I haven't been able to make it work. Perhaps you or @spazzarama, whenever he has the time, can take it from where I got stuck.
@jazzup have you tried the LocalHook at all after injecting using SetWindowsHookEx? If you want the IPC etc.. you will have to come up with a way to setup the channel and connect to it from the injected assembly - you could use a static name during testing for the channel or just not use the IPC and see how it fairs.
I get this when trying to inject into League of Legends.exe
System.ApplicationException: STATUS_INTERNAL_ERROR: C++ completion routine has returned success but didn't raise the remote event. (Code: 0)
Error says: Capture.InjectionFailedException: 'Injection to the target process failed. See InnerException for more detail.'
Is this a issue with the game expecifically?