added basic function for checking and calculating hash (Need to work out how to do this though!
This commit is contained in:
parent
e622a6194d
commit
fd7219c884
1 changed files with 26 additions and 2 deletions
|
@ -18,10 +18,11 @@ namespace USB_Lockdown
|
|||
|
||||
internal static void beginAuthentication()
|
||||
{
|
||||
deviceScan.calculateHash();
|
||||
Thread deviceScanner = new Thread(deviceScan.scanDevices);
|
||||
deviceScanner.Join(); //the thread will exit when a valid drive has been found
|
||||
|
||||
//code here to unlock computer and
|
||||
//code here to unlock computer and stuff
|
||||
}
|
||||
}
|
||||
class deviceScan
|
||||
|
@ -29,14 +30,21 @@ namespace USB_Lockdown
|
|||
internal static DriveInfo validDrive;
|
||||
internal static DriveInfo[] driveListing;
|
||||
private static bool driveFound = false;
|
||||
internal static string originalHash;
|
||||
|
||||
internal static void calculateHash()
|
||||
{
|
||||
//decide how to do this!
|
||||
|
||||
}
|
||||
internal static void scanDevices()
|
||||
{
|
||||
while (!driveFound) {
|
||||
driveListing = DriveInfo.GetDrives();
|
||||
foreach (DriveInfo currentDrive in driveListing)
|
||||
{
|
||||
try { string driveName = currentDrive.VolumeLabel; string driveLabel = currentDrive.Name; }
|
||||
catch { }
|
||||
if (File.Exists(currentDrive.Name + "\\LockDown.config")) // the first check for a valid drive. Could be something else, but this is a lightweight test to be done first!
|
||||
{
|
||||
if (driveValidate(currentDrive)) //runs the full validation of the drive
|
||||
|
@ -51,10 +59,26 @@ namespace USB_Lockdown
|
|||
}
|
||||
|
||||
internal static bool driveValidate(DriveInfo drive){
|
||||
|
||||
if (!checkHash(drive)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool checkHash(DriveInfo drive)
|
||||
{
|
||||
string fileName = drive.Name + "";
|
||||
if (!File.Exists(fileName)) { return false; }
|
||||
|
||||
using (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
|
||||
{
|
||||
string hashFromDrive = reader.ReadString();
|
||||
if (hashFromDrive != )
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
internal static void resetValues()
|
||||
{
|
||||
validDrive = null;
|
||||
|
|
Reference in a new issue