A bug where the system DLL files are still loaded instead of VxKex's
Sometimes, when an application calls a function, the system DLL is loaded instead of VxKex's
For example, the application calls the system kernel32.dll instead of kxbase.dll
I have implemented RtlGetDeviceFamilyInfoEnum, which is needed to launch Microsoft Edge, but instead of kxnt.dll, the function calls anyway from ntdll.dll, which is why the application does not start
Have you enabled VxKex for child processes?
Of course
Linked to:
- https://github.com/i486/VxKex/issues/87
- https://github.com/i486/VxKex/issues/63
- https://github.com/i486/VxKex/issues/45
- https://github.com/i486/VxKex/issues/19
- https://github.com/i486/VxKex/issues/11
For the moment, you can use:
- https://github.com/YuZhouRen86/VxKex-NEXT
It's not the same issue. Mine may be caused by the application loading the DLL through LoadLibrary() instead of .lib linking.
VxKex rewrites the import table in PE. DLL files that are loaded via LoadLibrary are not listed in the import table, so in order to replace the name of the imported DLL via LoadLibrary(), we need to edit the program itself to replace the DLL name in code
@i486, @YuZhouRen86, @dotexe1337: What do you think?