Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
6.4.0
-
None
Description
QT loads some system32 DLLS when it opens the Save As dialog。However, because the QT framework preferentially uses the current directory to find DLLS, it will look up again from system32 if it cannot find them。So, we can look for the DLLS that QT needs to load and hijack them, such as: LINKINFO.DLL, DUI70.dll, DUser.dll and other DLLS。
trace result:
NtOpenSection( SectionHandle=0xda0ef63c8, DesiredAccess=0xd, ObjectAttributes=0x3c:"LINKINFO.dll" ) => 0xc0000034 [2 'The system cannot find the file specified.']
NtQueryAttributesFile( ObjectAttributes="??\C:\Program Files\010 Editor\LINKINFO.dll", Attributes=0xda0ef5fa8 ) => 0xc0000034 [2 'The system cannot find the file specified.']
Loaded DLL at 00007FF927230000 C:\Windows\SYSTEM32\LINKINFO.dll
repetition
Create any DLL and name it LINKINFO.dll or DUI70.dll and place it in the software directory that uses the QT framework。Start the software and open the Save As dialog box。
This error was discovered while testing the 010 editor. Since I don't use QT, I can't give you a specific fix.
Attachments
Issue Links
- relates to
-
QTBUG-110147 DLL hijacking
- Closed