SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
UsbDk at a Glance
Meet UsbDk
UsbDk stands for “USB Development Kit”
Universal engine for exclusive access to USB devices
on Windows OSes
Full user mode API for all device operations
Designed to support all types of USB devices
Generic API to allow wide range of use-cases
Designed with HCK certifications in mind
Hiding engine for total detachment of USB devices
from OS software stack
Feature set
Totally dynamic device capture

No INF files and no self-signing needed

Any device can be captured
Totally dynamic device detachment

Any device or class of devices may be hidden

Prevents Windows from showing "New Hardware” pop-ups for devices without in-box drivers

Great for security solutions
Co-existence with original device driver

When the device is not captured original driver is loaded by the system automatically

If user mode client terminates unexpectedly for any reason system reverts to original device driver immediately
Supports for all types of devices and interfaces

Bulk, isochronous, composite, HID, etc.
Being USB filter driver doesn't require WHQL-ing

as per Microsoft requirements
Advantages over WinUSB
Full feature parity
Full support for isochronous devices
Full support for composite devices
No INF files and no signing needed
Open source and community supported
Supported Windows
Versions
7
VistaXP
8 8.1
2008
2008

R2
2012
2012

R2
2003
UsbDk is open source
Hosted by:

http://www.spice-space.org
Mailing list:

spice-devel (http://lists.freedesktop.org/mailman/
listinfo/spice-devel)
Maintained by:

Dmitry Fleytman <dfleytma@redhat.com>

Dmitry Fleytman <dmitry@daynix.com>
License:

Apache 2.0
Git repository:

http://cgit.freedesktop.org/spice/win32/usbdk/
Build environment
Visual Studio 2013 Update 4
Windows Driver Kit (WDK) 8.1 for Windows 7/2008R2
and later platforms
Windows 7 DDK (WDK 7.1) for Windows XP, 2003,
Vista, 2008
WiX toolset 3.8 for MSI packages creation
UsbDk components
UsbDk.sys
UsbDkHelper.dll
UsbDkController.exe
Kernel mode
User mode
UsbDkHelper.dll API
Driver installation
Enumerate
USB devices
Driver un-installation
Capture USB
device
Pipe
transfer
Control
transfer
Configure
device
Reset
device
InstallAcquireOperate
Hide USB
device
UsbDk.sys structure
USB device
filter
USB hub filter
Control
interface
Generic USB
device driver
UsbDkHelper.dll
PNP Manager
Technical Info
See ARCHITECTURE document at source tree root

http://cgit.freedesktop.org/spice/win32/usbdk/tree/ARCHITECTURE
Software Development Manual

available on www.spice-space.org
Thank you!

Contenu connexe

Similaire à UsbDk at a Glance 

Android Part-1 - Hello Android
Android Part-1 - Hello AndroidAndroid Part-1 - Hello Android
Android Part-1 - Hello Android
Bipin Jethwani
 
Quarter 2_W2_D5_CSS.pptx
Quarter 2_W2_D5_CSS.pptxQuarter 2_W2_D5_CSS.pptx
Quarter 2_W2_D5_CSS.pptx
KurtGardy
 
Ch1 hello, android
Ch1 hello, androidCh1 hello, android
Ch1 hello, android
Jehad2012
 

Similaire à UsbDk at a Glance  (20)

Windows Accelerate IT Pro Bootcamp: Windows ToGo (Module 3 of 8)
Windows Accelerate IT Pro Bootcamp: Windows ToGo (Module 3 of 8)Windows Accelerate IT Pro Bootcamp: Windows ToGo (Module 3 of 8)
Windows Accelerate IT Pro Bootcamp: Windows ToGo (Module 3 of 8)
 
usb-lock-rp-en
usb-lock-rp-enusb-lock-rp-en
usb-lock-rp-en
 
Window IoT Mod 1.pdf
Window IoT Mod 1.pdfWindow IoT Mod 1.pdf
Window IoT Mod 1.pdf
 
Yerevan Cloud Camp & Hackathon - Internet of Things & Microsoft
Yerevan Cloud Camp & Hackathon - Internet of Things & MicrosoftYerevan Cloud Camp & Hackathon - Internet of Things & Microsoft
Yerevan Cloud Camp & Hackathon - Internet of Things & Microsoft
 
Android Part-1 - Hello Android
Android Part-1 - Hello AndroidAndroid Part-1 - Hello Android
Android Part-1 - Hello Android
 
Read me!
Read me!Read me!
Read me!
 
Quarter 2_W2_D5_CSS.pptx
Quarter 2_W2_D5_CSS.pptxQuarter 2_W2_D5_CSS.pptx
Quarter 2_W2_D5_CSS.pptx
 
Making a Headless Android Device (Oslo Embedded Meetup 2018)
Making a Headless Android Device (Oslo Embedded Meetup 2018)Making a Headless Android Device (Oslo Embedded Meetup 2018)
Making a Headless Android Device (Oslo Embedded Meetup 2018)
 
Device drivers by prabu m
Device drivers by prabu mDevice drivers by prabu m
Device drivers by prabu m
 
SanDisk SecureAccess Encryption - Forensic Processing & USB Flashing
SanDisk SecureAccess Encryption - Forensic Processing & USB FlashingSanDisk SecureAccess Encryption - Forensic Processing & USB Flashing
SanDisk SecureAccess Encryption - Forensic Processing & USB Flashing
 
REMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUP
REMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUPREMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUP
REMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUP
 
REMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUP
REMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUPREMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUP
REMOVABLE STORAGE CENTRALIZED CONTROL FOR WINDOWS LAN, WAN, OR WORKGROUP
 
Quarter 2_W2_D5_CSS.pptx
Quarter 2_W2_D5_CSS.pptxQuarter 2_W2_D5_CSS.pptx
Quarter 2_W2_D5_CSS.pptx
 
Ch1 hello, android
Ch1 hello, androidCh1 hello, android
Ch1 hello, android
 
Key vocabulary 10 &amp; 11 g
Key vocabulary 10 &amp; 11 gKey vocabulary 10 &amp; 11 g
Key vocabulary 10 &amp; 11 g
 
Key vocabulary 10 &amp; 11 g
Key vocabulary 10 &amp; 11 gKey vocabulary 10 &amp; 11 g
Key vocabulary 10 &amp; 11 g
 
Device drivers and their applications
Device drivers and their applicationsDevice drivers and their applications
Device drivers and their applications
 
Making a Headless Android Device
Making a Headless Android DeviceMaking a Headless Android Device
Making a Headless Android Device
 
Windows Embedded in the Real World
Windows Embedded in the Real WorldWindows Embedded in the Real World
Windows Embedded in the Real World
 
DEVGURU Introduction
DEVGURU IntroductionDEVGURU Introduction
DEVGURU Introduction
 

Plus de Yan Vugenfirer

Advanced NDISTest options
Advanced NDISTest optionsAdvanced NDISTest options
Advanced NDISTest options
Yan Vugenfirer
 

Plus de Yan Vugenfirer (11)

HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
HCK-CI: Enabling CI for Windows Guest Paravirtualized Drivers - Kostiantyn Ko...
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
 
Qemu device prototyping
Qemu device prototypingQemu device prototyping
Qemu device prototyping
 
Windows network teaming
Windows network teamingWindows network teaming
Windows network teaming
 
Rebuild presentation - IoT Israel MeetUp
Rebuild presentation - IoT Israel MeetUpRebuild presentation - IoT Israel MeetUp
Rebuild presentation - IoT Israel MeetUp
 
Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday party
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using Git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Advanced NDISTest options
Advanced NDISTest optionsAdvanced NDISTest options
Advanced NDISTest options
 
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
QEMU Development and Testing Automation Using MS HCK - Anton Nayshtut and Yan...
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

UsbDk at a Glance 

  • 1. UsbDk at a Glance
  • 2. Meet UsbDk UsbDk stands for “USB Development Kit” Universal engine for exclusive access to USB devices on Windows OSes Full user mode API for all device operations Designed to support all types of USB devices Generic API to allow wide range of use-cases Designed with HCK certifications in mind Hiding engine for total detachment of USB devices from OS software stack
  • 3. Feature set Totally dynamic device capture
 No INF files and no self-signing needed
 Any device can be captured Totally dynamic device detachment
 Any device or class of devices may be hidden
 Prevents Windows from showing "New Hardware” pop-ups for devices without in-box drivers
 Great for security solutions Co-existence with original device driver
 When the device is not captured original driver is loaded by the system automatically
 If user mode client terminates unexpectedly for any reason system reverts to original device driver immediately Supports for all types of devices and interfaces
 Bulk, isochronous, composite, HID, etc. Being USB filter driver doesn't require WHQL-ing
 as per Microsoft requirements
  • 4. Advantages over WinUSB Full feature parity Full support for isochronous devices Full support for composite devices No INF files and no signing needed Open source and community supported
  • 6. UsbDk is open source Hosted by:
 http://www.spice-space.org Mailing list:
 spice-devel (http://lists.freedesktop.org/mailman/ listinfo/spice-devel) Maintained by:
 Dmitry Fleytman <dfleytma@redhat.com>
 Dmitry Fleytman <dmitry@daynix.com> License:
 Apache 2.0 Git repository:
 http://cgit.freedesktop.org/spice/win32/usbdk/
  • 7. Build environment Visual Studio 2013 Update 4 Windows Driver Kit (WDK) 8.1 for Windows 7/2008R2 and later platforms Windows 7 DDK (WDK 7.1) for Windows XP, 2003, Vista, 2008 WiX toolset 3.8 for MSI packages creation
  • 9. UsbDkHelper.dll API Driver installation Enumerate USB devices Driver un-installation Capture USB device Pipe transfer Control transfer Configure device Reset device InstallAcquireOperate Hide USB device
  • 10. UsbDk.sys structure USB device filter USB hub filter Control interface Generic USB device driver UsbDkHelper.dll PNP Manager
  • 11. Technical Info See ARCHITECTURE document at source tree root
 http://cgit.freedesktop.org/spice/win32/usbdk/tree/ARCHITECTURE Software Development Manual
 available on www.spice-space.org