Closed xirthas closed 4 years ago
Xenos injector Manul Map Ignore TLS: Everything is working. Why is this happening and how can I fix it?
Hello, @MrSoczekXD!
What program did you try to hook? Could you provide the code? Try attach the debugger and find out what error code the functions return.
Have a nice day!
I sort of figured out the Xenos(Manual Map) error 0xC0000138. It appears due to some static variables: static std::string buffer; static ImGuiIO& io = ImGui::GetIO(); static HINSTANCE shcore_dll = ::LoadLibraryA("shcore.dll"); static HINSTANCE user32_dll = ::LoadLibraryA("user32.dll"); static ImVector\<ImWchar> ranges;
What program did you try to hook? DX9: CSGO, Terraria DX11 Pummel Party
Looked at what it returns function: direct3D9-> CreateDevice: function runs forever D3D11CreateDeviceAndSwapChain: -2005270527 (FFFF FFFF 887A 0001)
As far as I understood then: (https://docs.microsoft.com/en-us/windows/win32/direct3d11/d3d11-graphics-reference-returnvalues) D3DERR_INVALIDCALL(0x887A0001): "The method call is invalid. For example, a method's parameter may not be a valid pointer."
or
(https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/dxgi-error) DXGI_ERROR_INVALID_CALL(0x887A0001): "The application provided invalid parameter data; this must be debugged and fixed before the application is released."
But Manual Map(now) and Manual Map Ignore TLS work fine.
I tested the games you gave me. I used imgui example for the test.
Results: Native inject works fine without any errors. ManualMap returned the same error to me as it did to you (0xC0000138 aka. STATUS_ORDINAL_NOT_FOUND).
Try to use an example project and let me know if you received any errors again. I think something in your project is causing an error.
For the Xenos Manual Map, I think we need to track what causes STATUS_ORDINAL_NOT_FOUND. I think it's injector issues, because with my Manual Map injector such problems do not occur (You can also test this with any other manual map injecto. For example: Extreme Injector).
Made a call to kiero::init() on a separate thread like this: CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Init, NULL, 0, NULL));
and there are no more errors when creating a d3d device.
Since I figured it out, and now everything works, I close issue
Xenos Injector Native Inject: direct3D9->CreateDevice runs forever and does not create a device. D3D11 error while creating the device.
Xenos Injector Manul Map: Error: 0xC0000138
The OpenGL hook works fine in both cases, so it is unlikely that the bug is somewhere else