Ich habe ein altes Projekt in VB, das einen eindeutigen PC-Code aus der MAC-Adresse und der Disc-ID erstellt hat. Dies wurde verwendet, um einen PC zu identifizieren, sodass Anmeldeinformationen nicht zwischen PCs verwendet werden können.
Dieses Projekt wurde nach C # migriert, und ich habe diese Logik in eine DLL gekapselt, die einfach eine Methode aufruft, die die pc_id zurückgibt.
Das Problem, das ich jetzt habe, ist, dass es verdammt einfach ist, einfach eine neue DLL mit demselben Klassennamen und derselben Methodensignatur zu erstellen und die gewünschte pc_id zurückzugeben.
Wie kann ich sicherstellen? Die DLL, auf die mein Programm verweist, gehört mir?
Ich habe darüber nachgedacht, den Hash meiner DLL mit einem fest codierten zu vergleichen, aber ist dies zwischen verschiedenen Betriebssystemen sicher? Wird sich der Hash der Datei zwischen Dateisystemen ändern?
Oder welche Methode wird bevorzugt, um die Integrität / Herkunft der Dateien sicherzustellen?