Reverse Engineer - WD External Storage Driver Setup (x64/x86)

Posted at




  • The WD External Storage Driver suitable for the entire line of myPassport USB Hard-Drives.


  • This article allows you to download both the original Windows Installer MSI file, and its content, (drivers only) and install them yourself.
    You may also embed the drivers to prepare a Windows setup through slipstream (just an idea).


  • The drivers are not modified in any way, and are digitally signed by WD certificate, so you may install them with no particular issue.
    Since it's signed, there is No need to run those two commands:


    • bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS


    • bcdedit.exe -set TESTSIGNING ON







Driver's version

  • from INF: 1.0.0009.0

  • from files: 1.0.7.2 (actual)


Driver's created

  • INF reports: Jan 19th 2011

  • from files: February 16th 2011 (actual)






x86
Original.
wd_installer_x86
WD SES Driver Setup (x86).msi [678KB]

Drivers only.
wd_ses_driver_only_x86
WD SES Drivers Only (x86).zip [17KB]
Extract anywhere, installed by right click, install.
Or run C:\\System32\\InfDefaultInstall.exe "wdcsam.inf".





x64
Driver's version: 1.0.0009.0, Actual version (from files) 1.0.7.2
Driver Created: Jan 19th 2011, Actual date (from files) February 16th 2011

Original.
wd_installer_x86
WD SES Driver Setup (x64).msi [1.03MB]

Drivers only.
wd_ses_driver_only_x64
WD SES Drivers Only (x64).zip [17KB]
Extract anywhere, installed by right click, install.
Or run C:\\System32\\InfDefaultInstall.exe "wdcsam.inf".






Here is the INF for the x86 driver:
; wdcsam.inf - WDC SCSI Architecture Model (SAM) WDM driver
; Copyright (C) 2006-2009 Western Digital Technologies
;

[Version]
Signature="$WINDOWS NT$"
Class=WDC_SAM
ClassGuid={8496E87E-C0A1-4102-9D8D-BD9A9B8B07A9}
Provider=%WDC_Provider%
CatalogFile=wdcsam.cat
DriverVer=01/19/2011,1.0.0009.0

; Device setup class
;
[ClassInstall]
AddReg=WDC_SAM_ClassReg

[ClassInstall32]
AddReg=WDC_SAM_ClassReg

[WDC_SAM_ClassReg]
HKR,,,,%WDC_SAM_ClassName%
HKR,,Icon,,"-10"

[Manufacturer]
%WDC_Mfg%=WDC_Devices,NTamd64 ; automatically includes x86


; X86 Models
;
[WDC_Devices]
%WDC_SES_DevDesc%= WDC_SAM_Install, SBP2\\WD&My_Book_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install, USBSTOR\\OtherWD______My_Book_Device__
%WDC_SES_DevDesc%= WDC_SAM_Install, SBP2\\WD&SES_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install, USBSTOR\\OtherWD______SES_Device______

; X64 Models
;
[WDC_Devices.NTamd64]
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, SBP2\\WD&My_Book_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, USBSTOR\\OtherWD______My_Book_Device__
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, SBP2\\WD&SES_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, USBSTOR\\OtherWD______SES_Device______


; X86 Install
;
[WDC_SAM_Install]
CopyFiles= WDC_SAM_CopyFiles

[WDC_SAM_Install.Services]
AddService= WDC_SAM,2,WDC_SAM_ServiceInstall

[WDC_SAM_ServiceInstall]
DisplayName= %WDC_SAM_ServiceName%
Description= %WDC_SAM_ServiceDesc%
ServiceType= %SERVICE_KERNEL_DRIVER%
StartType= %SERVICE_DEMAND_START%
ErrorControl= %SERVICE_ERROR_NORMAL%
ServiceBinary= %12%\\wdcsam.sys


; X64 Install
;
[WDC_SAM_Install_x64]
CopyFiles= WDC_SAM_CopyFiles_x64

[WDC_SAM_Install_x64.Services]
AddService= WDC_SAM,2,WDC_SAM_ServiceInstall_x64

[WDC_SAM_ServiceInstall_x64]
DisplayName= %WDC_SAM_ServiceName%
Description= %WDC_SAM_ServiceDesc%
ServiceType= %SERVICE_KERNEL_DRIVER%
StartType= %SERVICE_DEMAND_START%
ErrorControl= %SERVICE_ERROR_NORMAL%
ServiceBinary= %12%\\wdcsam64.sys


; Files
;
[DestinationDirs]
DefaultDestDir= 11 ; %windir%\\System32
WDC_SAM_CopyFiles= 12 ; %windir%\\System32\\Drivers
WDC_SAM_CopyFiles_x64= 12 ; %windir%\\System32\\Drivers

[SourceDisksNames]
1= %WDC_SAM_SourceDiskDesc%,,,""

[SourceDisksFiles]
wdcsam.sys= 1,,
wdcsam64.sys= 1,,

[WDC_SAM_CopyFiles]
wdcsam.sys

[WDC_SAM_CopyFiles_x64]
wdcsam64.sys


[strings]
SERVICE_KERNEL_DRIVER = 1

SERVICE_AUTO_START = 2
SERVICE_DEMAND_START = 3

SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3

WDC_Provider = "Western Digital Technologies"
WDC_Mfg = "Western Digital Technologies"
WDC_SAM_SourceDiskDesc = "WD External Storage Driver Disk"

WDC_SAM_ClassName = "WD Drive Management devices"
WDC_SAM_ServiceName = "WD SCSI Pass Thru driver"
WDC_SAM_ServiceDesc = "Manages WD external storage products."

WDC_SES_DevDesc = "WD SES Device"


And here is the INF for the x64 driver:
; wdcsam.inf - WDC SCSI Architecture Model (SAM) WDM driver
; Copyright (C) 2006-2009 Western Digital Technologies
;

[Version]
Signature="$WINDOWS NT$"
Class=WDC_SAM
ClassGuid={8496E87E-C0A1-4102-9D8D-BD9A9B8B07A9}
Provider=%WDC_Provider%
CatalogFile=wdcsam.cat
DriverVer=01/19/2011,1.0.0009.0

; Device setup class
;
[ClassInstall]
AddReg=WDC_SAM_ClassReg

[ClassInstall32]
AddReg=WDC_SAM_ClassReg

[WDC_SAM_ClassReg]
HKR,,,,%WDC_SAM_ClassName%
HKR,,Icon,,"-10"

[Manufacturer]
%WDC_Mfg%=WDC_Devices,NTamd64 ; automatically includes x86


; X86 Models
;
[WDC_Devices]
%WDC_SES_DevDesc%= WDC_SAM_Install, SBP2\\WD&My_Book_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install, USBSTOR\\OtherWD______My_Book_Device__
%WDC_SES_DevDesc%= WDC_SAM_Install, SBP2\\WD&SES_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install, USBSTOR\\OtherWD______SES_Device______

; X64 Models
;
[WDC_Devices.NTamd64]
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, SBP2\\WD&My_Book_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, USBSTOR\\OtherWD______My_Book_Device__
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, SBP2\\WD&SES_Device&CmdSetId104D8&GenSbp2Device
%WDC_SES_DevDesc%= WDC_SAM_Install_x64, USBSTOR\\OtherWD______SES_Device______


; X86 Install
;
[WDC_SAM_Install]
CopyFiles= WDC_SAM_CopyFiles

[WDC_SAM_Install.Services]
AddService= WDC_SAM,2,WDC_SAM_ServiceInstall

[WDC_SAM_ServiceInstall]
DisplayName= %WDC_SAM_ServiceName%
Description= %WDC_SAM_ServiceDesc%
ServiceType= %SERVICE_KERNEL_DRIVER%
StartType= %SERVICE_DEMAND_START%
ErrorControl= %SERVICE_ERROR_NORMAL%
ServiceBinary= %12%\\wdcsam.sys


; X64 Install
;
[WDC_SAM_Install_x64]
CopyFiles= WDC_SAM_CopyFiles_x64

[WDC_SAM_Install_x64.Services]
AddService= WDC_SAM,2,WDC_SAM_ServiceInstall_x64

[WDC_SAM_ServiceInstall_x64]
DisplayName= %WDC_SAM_ServiceName%
Description= %WDC_SAM_ServiceDesc%
ServiceType= %SERVICE_KERNEL_DRIVER%
StartType= %SERVICE_DEMAND_START%
ErrorControl= %SERVICE_ERROR_NORMAL%
ServiceBinary= %12%\\wdcsam64.sys


; Files
;
[DestinationDirs]
DefaultDestDir= 11 ; %windir%\\System32
WDC_SAM_CopyFiles= 12 ; %windir%\\System32\\Drivers
WDC_SAM_CopyFiles_x64= 12 ; %windir%\\System32\\Drivers

[SourceDisksNames]
1= %WDC_SAM_SourceDiskDesc%,,,""

[SourceDisksFiles]
wdcsam.sys= 1,,
wdcsam64.sys= 1,,

[WDC_SAM_CopyFiles]
wdcsam.sys

[WDC_SAM_CopyFiles_x64]
wdcsam64.sys


[strings]
SERVICE_KERNEL_DRIVER = 1

SERVICE_AUTO_START = 2
SERVICE_DEMAND_START = 3

SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3

WDC_Provider = "Western Digital Technologies"
WDC_Mfg = "Western Digital Technologies"
WDC_SAM_SourceDiskDesc = "WD External Storage Driver Disk"

WDC_SAM_ClassName = "WD Drive Management devices"
WDC_SAM_ServiceName = "WD SCSI Pass Thru driver"
WDC_SAM_ServiceDesc = "Manages WD external storage products."

WDC_SES_DevDesc = "WD SES Device"