USB Monitor (Sniffer)
February 04, 2015
View 1903
Task
USB Monitor allows you to display, record and analyze all the data transferred between any USB device connected to your PC and applications. Also you can recover transferred data (for some file types).
The resulted project includes such components: Driver, Common library, GUI.
Driver
Language: C
Filter driver is a driver, which is inserted into the existing driver stack to perform record function (collect URB packets*). A filter driver is not affect the normal working of the existing driver stack in any major way.
*URB packet is USB request block that contain data to be transferred to/from USB device.
Common library
Language: C++
Using: STL (Standard Template Library)
Main purpose is to get data from filter driver.
Includes:
GUI
Language: C++
Using: STL (Standard Template Library), MFC (Microsoft Foundation Classes)
Includes:
Tools & Technologies
Development environment: Visual Studio 2008 + DDK;
Debugger: WinDbg for kernel mode, VS2008 inbuilt debugger for user mode. Libraries: STL, MFC
Future features to implement
Downloads
Project Solution
Project Sources