Thanks to Tom Liston for writing this program
gdiscan.exe was written for Windows 2000 and higher. It scans the drive containing the Windows %system% directory and Looks for vulnerable versions of gdiplus.dll, sxs.dll, wsxs.dll, mso.dll and vgx.dll.
The scan starts upon execution. It will signal completion of scan in text box with "Done."
Vulnerable versions of the .dll files are listed in RED.
The path where a vulnerable .dll file is found is important. Remember hat dlls are loaded in the following order (note: this is a VAST simplification):
- The directory from which the application loaded.
- The (application's) current directory.
- Windows 95/98: The Windows system directory (default: C:\Windows\system)
- Windows NT+: The 32-bit Windows system directory (default: C:\WinNT\System32)
- Windows NT+: The 16-bit Windows system directory (default: C:\WinNT\System)
- The Windows directory (default: C:\WinNT or C:\Windows)
- The directories that are listed in the PATH environment variable
Frequently Asked Questions (FAQ)
Q: Are there any files I should ignore?
A: Ignore files in directories like Windows\$NtUniinstallKBxxxxx\. These are old versions left behind for uninstal purposes.
Q: What command line options are there?
A: The only parameter for the command line option is the log filename (usage: gdiclscan.exe logfile). It will exit with a return code of 1 if it can not open the log file. The command line version will not overwrite the log file.
Q: Can I use options with the GUI?
A: There are no options for the GUI version. Please use the command line version.
GUI version (Ver. 2.1)
(updated. Version 2 will allow you to scan arbitrary drives)
Command Line Version (Ver. 2.1)
(Ver. 2.1 now includes scanning on arbitrary drives)
License: You may freely copy and use this binary. Please do not mirror the file, as updates may be made available at any time without notice. If you link to this tool, link to http://isc.sans.edu/gdiscan.php.THIS APPLICATION IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.