J'ai un ancien projet en VB qui a créé un code pc unique à partir de l'adresse MAC et de l'identifiant du disque. Cela a été utilisé pour identifier un PC afin que les informations d'identification ne puissent pas être utilisées entre les PC.
Ce projet a migré vers C #, et j'ai encapsulé cette logique dans une DLL qui appelle simplement une méthode qui renvoie le pc_id.
Le problème que j'ai maintenant est qu'il est très facile de créer simplement une nouvelle DLL qui a le même nom de classe et la même signature de méthode et de renvoyer tout pc_id qu'ils souhaitent.
Comment puis-je m'assurer la DLL référencée par mon programme est en fait la mienne?
J'ai pensé à comparer le hachage de ma DLL avec une DLL codée en dur, mais est-ce sûr entre différents OS? Le hachage du fichier changera-t-il entre les systèmes de fichiers?
Ou quelle méthode est préférée pour garantir l'intégrité / l'origine des fichiers?