Wacom_Tablet.exe
, Remove.exe
, WTabletServicePro.exe
, ...).WacomDesktopCenter.exe
, which runs and performs its operations with the privileges of the current user.%ProgramFiles%\Tablet\Wacom\Wacom_Tablet.exe
is triggered and runs under the context of SYSTEM.update.xml
file from a Wacom server (http://link.wacom.com/wdc/update.xml) and, if the file get downloaded properly, Wacom_Tablet.exe
saves it, without impersonating the current user, into the %windir%\Temp\wactemp
folder.wactemp
folder isn't created during the Wacom Driver installation therefore, the first time a Wacom device will be plugged in, and Wacom_Tablet.exe
will be able to download the update.xml
file from the Wacom server, the wactemp
folder will be created (and it will no longer be deleted because it will be used to store the updated versions of the update.xml
file) and the downloaded update.xml
file will be saved in it.wactemp
folder and the update.xml
file in the following image, obtained by analyzing with Process Monitor the first Wacom device plugging event.
%windir%\Temp\wactemp
NTFS volume mount point before that happens?%windir%\Temp
folder...Wacom_Tablet.exe
creates the wactemp
folder only once because it will no longer be deleted after the first creation.
Wacom_Tablet.exe
saves the downloaded update.xml
file into the wactemp
folder, if an older version of the update.xml
is already present, it will be overwritten by the new one.
%windir%\Temp\wactemp
mount point isn't created before Wacom_Tablet.exe
creates the %windir%\Temp\wactemp
folder, it will no longer be possible to create it, because the regular user cannot delete the folders\files stored in the %windir%\Temp
folder.
update.xml
file download process fails for some reason, the wactemp
folder and the update.xml
file will not be created.
Wacom_Tablet.exe
tries to repeat the update.xml
file download and save procedure even during the Wacom device unplugging event.
update.xml
file is necessary to understand if an update of the Wacom Driver (or some of its components related to the Wacom device used by the user) is available, and if the update is supported by the current version of the operating system.update.xml
is no longer available on the Wacom server and you want to analyze it, I saved a copy here (downloaded on 2022-08-27).
Wacom_Tablet.exe
repeats the update.xml
file download and save procedure every time a Wacom device is plugged\unplugged to the PC because it wants to check if there are updates for that particular device and, the data of a Wacom device, is collected at the time of its plugging\unplugging.%windir%\Temp\wactemp
NTFS volume mount point to \RPC Control before Wacom_Tablet.exe
creates the %windir%\Temp\wactemp
folder.\RPC Control\update.xml
to a file we want to write\overwrite (in my POC I used %windir%\win.ini
).Wacom_Tablet.exe
will be triggered, download the update.xml
file from the Wacom server (if the PC is connected to the Internet), create the wactemp
folder (if it hasn't already been created) and save the downloaded update.xml
file in it.%windir%\Temp\wactemp
mount point, when Wacom_Tablet.exe
will try to save the update.xml
file into %windir%\Temp\wactemp
, it will consider our mount point as a valid wactemp
folder and try to write the downloaded update.xml
file in it.%windir%\Temp\wactemp
is a mount point to \RPC Control
, Wacom_Tablet.exe
will be redirected (reparsed) and will try to write \RPC Control\update.xml
.\RPC Control\update.xml
is a symbolic link to our target file (eg %windir%\win.ini
), Wacom_Tablet.exe
will be redirected again, and will write\overwrite the target file (and it will succeed because it's running under the context of SYSTEM
) with the content of the downloaded update.xml
.Wacom_Tablet.exe
will create it and write the content of the downloaded update.xml
in it, otherwise it will overwrite the contents of the already existing file with the content of the downloaded update.xml
.Wacom_Tablet.exe
reparsed to the target file after creating the wactemp
mountpoint and plugging, for the first time, a Wacom device.
%windir%\win.ini
).
%windir%\Temp\wactemp
mount point to \RPC Control
.
\RPC Control\update.xml
symbolic link to %windir%\win.ini
.
Wacom_Tablet.exe
is triggered (and runs under the context of SYSTEM
).
Wacom_Tablet.exe
will download the update.xml
file from a Wacom server and try to save it into the %windir%\Temp\wactemp
folder.
%windir%\Temp\wactemp
is a mount point to \RPC Control
, Wacom_Tablet.exe
will be redirected and will try to write \RPC Control\update.xml
.
\RPC Control\update.xml
is a symbolic link to %windir%\win.ini
, Wacom_Tablet.exe
will be redirected again, and will overwrite %windir%\win.ini
with the content of the downloaded update.xml
.
CreateMountPoint.exe "C:\Windows\Temp\wactemp" "\RPC Control"
with CreateMountPoint.exe "%windir%\Temp\wactemp" "\RPC Control"
.CreateMountPoint.exe
and CreateSymlink.exe
are programs developed by James Forshaw and are downloadable from his symboliclink-testing-tools repository, respectively here and here.
Wacom_Tablet.exe
is Wacom Intuos Small Graphic Tablet, but any Wacom device should be fine.%windir%\Temp\wactemp
mount point before Wacom_Tablet.exe
creates the %windir%\Temp\wactemp
folder (otherwise we'll not be able to create the mount point).
Wacom_Tablet.exe
will not be able to download the update.xml
file).
Wacom_Tablet.exe
).
Wacom_Tablet.exe
has never been triggered and, consequently, the %windir%\Temp\wactemp
folder has not been created yet.
%windir%\Temp\wactemp
mount point before the system administrator installs the Wacom Driver.Wacom_Tablet.exe
without plugging or unplugging a Wacom device?Wacom_Tablet.exe
, forcing it to download the update.xml
file, but I didn't find anything interesting.Wacom_Tablet.exe
without plugging or unplugging a Wacom device, is to simulate (through a software) the Wacom USB device plugging (or unplugging) event.Wacom_Tablet.exe
.VID = 0x056A
and PID = 0x0376
(taken from the string USB\VID_056A&PID_0376
(read this file to figure out how to get that string))) and tried to reproduce the captured packets back.Wacom_Tablet.exe
without connecting any real device but, at the moment, I don't have the time to understand where the catch is.%windir%\system32\cng.sys
file (or folder)) to prevent Windows from booting and bring up the famous BSoD.
%windir%\system32\cng.sys
when we're asked which file we want to overwrite.%windir%\system32\cng.sys
doesn't exist in standard Windows installations, it will be created and, the next time Windows starts, the BSoD will be displayed (and the auto-repair Windows procedure won't be able to fix the problem).
cng.sys
?cng.sys
file doesn't exist in the %windir%\system32
folder, because it's installed into %windir%\system32\drivers
folder, and only TrustedInstaller has full access on it.cng.sys
is a very important Windows kernel driver, the operating system loads it from %windir%\system32\drivers
at startup but, if another cng.sys
file (or folder) exists in the %windir%\system32
folder, Windows loads it as well!%windir%\system32\cng.sys
is a fake file (or a folder), the operating system crashes during its loading, bringing up the BSoD.cng.sys
file first in the %windir%\system32
folder and then in the %windir%\system32\drivers
(or it follows another order but, at some point, it tries to load the %windir%\system32\cng.sys
file anyway).cng.sys
only from the right folder. Can it be because in previous versions of Windows it was located in %windir%\system32
, and then it was moved to %windir%\system32\drivers
but the developers forgot to update its folders search order?cng.sys
?%windir%\Temp\wactemp
folder directly during the Wacom Driver installation process, so that the user can't create a mount point in its place.Wacom_Tablet.exe
to impersonate the user while creating the %windir%\Temp\wactemp\update.xml
file.Wacom_Tablet.exe
will be redirected, it will only be able to write\overwrite files that the user can already write\overwrite on his own.
wactemp
folder under %ProgramFiles%\Tablet\Wacom\
(where the user doesn't have write access).
%windir%\Temp\wactemp
isn't a symbolic link before creating the update.xml
file in it.