4 Stimmen

Wie kann man eine Anwendung so einschränken, dass sie nur von einem bekannten USB-Flash-Laufwerk ausgeführt werden kann?

Ich benötige eine Anwendung, die nur von einem bestimmten USB-Flash-Laufwerk ausgeführt wird. Ich habe einige Tests mit der WMI Win32_Diskdrive-Klasse und der PNPdeviceID-Eigenschaft durchgeführt. Es ist eine sehr gute Idee, die Anwendung in einen Lizenzserver (Webdienste) mit diesen Daten einzutragen, aber ich suche nach einer zweiten Methode, um diese zu verstärken, um den Prozess schwieriger zu machen.

Ich dachte daran, eine zweite kleine versteckte Partition im Laufwerk zu erstellen und darin als Namen die Seriennummer des PNPdeviceID oder andere Informationen zu platzieren. Jede andere Idee, Methode oder Anregung ist willkommen.

Vielen Dank im Voraus.

EDIT: Ich kenne bereits eine eindeutige ID des USB-Flash-Laufwerks und die Anwendung kann überprüfen, ob die Interfacetype-Eigenschaft "USB" ist. Ich melde die Anwendung mit einem Hash des PNPDeviceID bei einem webdienstunterstützten Lizenzmanager an. Ich suche nach einer zusätzlichen zweiten Validierungsmethode.

1voto

David Punkte 2124

Sie können die Volumenserialnummer überprüfen, die das gelegentliche Kopieren auf ein neu formatiertes Volume erkennen wird, aber sie wird keine vollständig byte-genauen Volumenkopien erkennen.
Software durch Zugriff auf die Festplatten-Seriennummer schützen
Irgendeine schnellere Methode, um die Volumenserialnummer zu erhalten?

1voto

Thomas Levesque Punkte 277723

Sie können den Typ des Laufwerks überprüfen, von dem das Programm ausgeführt wird:

string path = Process.GetCurrentProcess().MainModule.FileName;
FileInfo fileInfo = new FileInfo(path);
string driveRoot = fileInfo.Directory.Root.Name;
DriveInfo driveInfo = new DriveInfo(driveRoot);
if (driveInfo.DriveType != DriveType.Removable)
{
    MessageBox.Show("Muss von einem Wechseldatenträger ausgeführt werden");
    Application.Exit();
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X