-
-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Injection via Injector fails while injecting via System Informer succeeds #28
Comments
@nefarius (sorry if you already read this and have acknowledged the issue, there wasn't any communication from you on this issue or the issue this was mentioned in. |
I read everything, rest assured, and I have nothing to comment on. I neither know the cause nor how to fix, neither have the time anyway. So unless someone else chimes in, this will simply sit here and collect dust. |
Are you sure process name should go case-sensitive? We always ignore the case. Have you tried with process id? Line 111 in ea46384
Injector/Injector/Injector.cpp Line 294 in ea46384
|
I'll try that, but it should in that case just not inject into the right process. |
Appears to fail with the same message. |
Cannot reproduce. Things go fine here.
Commonly, The target process and referenced module should share the same bitness. Since both the process and module are x86, you should use Win32 version of Injector. Please, double check permissions or other things. You may also step into the source and print |
I was using the x64 injector. Injecting with the Win32 version works fine (although ejecting the module doesn't seem to do anything. This could be a bug with the module though and not Injector.) This does close this issue as user error and not a bug with Injector. The issue mentioned under OpenCAGE's issue tracker will be adjusted accordingly. I might open a PR (or an issue) to have case-sensitivity as a toggle though, as I think it would help eliminate users not figuring out what to do. Once again, this issue can be closed as user error. |
The underlying confusion that lead to this can be fixed by merging #29. |
Apparently I messed up when looking at how CinematicTools was injected when using OpenCAGE; the issue that I linked to this apparently wasn't related to this repo as OpenCAGE doesn't use Injector. At least I cleared some confusion for people using this project, right? 🤷♂️ (Is there a phrase for this kind of mistake?) |
At least you confused me 🤣 |
Bug description
Recently while using a tool that depends on this project, I noticed that the DLL I was trying to use wasn't being injected. Using Injector directly results in the LoadLibraryW error that has been mentioned many-a times before, or the "Could not create thread in remote process." error if using the x86 version of Injector. However, using System Informer to inject the DLL worked.
Steps to reproduce
While I'm unsure of what exactly caused this problem I will try to provide as much detail as I can.
Actual result: A runtime error is thrown with "Call to LoadLibraryW in remote process failed.". If running the x86 version of the injector, "Could not create thread in remote process." is thrown instead, probably as I'm running x64 Windows (though A:I is a 32-bit game).
Expected result: Cinematic Tools is loaded into Alien: Isolation. Result of that is a console window opening attached to the game and an ImGui window opening that looks like the window below.
Screenshots
Injector:
Expected Result:
Console:
ImGUI Window:
Machine info
CPU-Architecture: x64
Windows version: Windows 10 22H2, 19045.3803, Windows Feature Experience Pack 1000.19053.10000
Software/driver version(s): Injector: 1.3.0
Any other helpful information
System Informer's injection process starts here.
PHLib (part of System Informer that does injecting as well as other things not relevant here) is build-able by itself.
This may not align with the project and that's fine but PHLib could be imported (with modifications) and used during the injection.
The text was updated successfully, but these errors were encountered: