Project CASUAL
API for CASUAL
 All Classes Namespaces Functions Variables
Public Member Functions | Static Public Attributes | List of all members
CASUAL.communicationstools.heimdall.drivers.DriverInstall Class Reference

Public Member Functions

 DriverInstall (int promptInit)
 
boolean installKnownDrivers ()
 
ArrayList< String[]> parseUidVidFromQualifiedDevices (ArrayList< String > qualifiedDevices, ArrayList< String[]> uidVid)
 
ArrayList< String > addDeviceToInstallationQueueIfInList (ArrayList< String > installqueue, String device)
 
 DriverInstall (int promptInit)
 
boolean installKnownDrivers ()
 
ArrayList< String[]> parseUidVidFromQualifiedDevices (ArrayList< String > qualifiedDevices, ArrayList< String[]> uidVid)
 
ArrayList< String > addDeviceToInstallationQueueIfInList (ArrayList< String > installqueue, String device)
 

Static Public Attributes

static volatile int removeDriverOnCompletion
 

Detailed Description


DriverInstall a.k.a. CADI(v2) or (CASUALS Automated Driver Installer) is a CASUALcore dependant class which attempts to automate CASUAL process on Windows (Vista - Win8) A generic driver is required for USB IO via CASUAL. This driver must temporarily take the place of the default OEM driver of targeted device (which must be currently connected). While many OEMs use WinUSB (or compatible alternative) as a device interface, CASUAL is not able communicate with the target because of proprietary (undocumented) driver service API. However once the generic driver is installed CASUAL using reverse engineered open-source tools such as Heimdall - http://goo.gl/bqeulW is able to interact with the target device directly.

This class is heavily dependant upon REGEX and a modified version of Devcon (MS-LPL). CADI uses libusbK, which is a generic WinUSB compatible driver for libusbx communication via Heimdall. The drivers which are used (containing both an x86/x64 variant)are built with WDK 8.1 (for Windows 8.1 support). All driver components are built & digitally signed by Jeremy Loper.

WARNING: Modifications to this class can result in system-wide crash of Windows. (I know, I've seen it :-D ) So plan out all modifications prior, and always ensure a null value is never passed to the installer.

Author
Jeremy Loper jrlop.nosp@m.er@g.nosp@m.mail..nosp@m.com
Adam Outler adamo.nosp@m.utle.nosp@m.r@gma.nosp@m.il.c.nosp@m.om

Constructor & Destructor Documentation

CASUAL.communicationstools.heimdall.drivers.DriverInstall.DriverInstall ( int  promptInit)

WindowsDrivers instantiates the windows driver class.

Parameters
promptInitinitializes removeDriverOnCompletion member and subsequent prompting action. 0 - Unset (will prompt user) (default) 1 - Do not remove driver on completion 2 - Remove driver on script completion
CASUAL.communicationstools.heimdall.drivers.DriverInstall.DriverInstall ( int  promptInit)

WindowsDrivers instantiates the windows driver class.

Parameters
promptInitinitializes removeDriverOnCompletion member and subsequent prompting action. 0 - Unset (will prompt user) (default) 1 - Do not remove driver on completion 2 - Remove driver on script completion

Member Data Documentation

static volatile int CASUAL.communicationstools.heimdall.drivers.DriverInstall.removeDriverOnCompletion
static

removeDriverOnCompletion is a primarily user set variable, relating to driver package un-installation. Should driver be removed on script completion? 0 - Unset (will prompt user) 1 - Do not remove driver on completion 2 - Remove driver on script completion This Member is populated on Class Object creation.


The documentation for this class was generated from the following file: