IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Comment créer une sécurité pour un Logiciel Visual C++ / MFC


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment créer une sécurité pour un Logiciel Visual C++ / MFC
    Bonjour,

    J'ai concu et développé un logiciel sous Visual Studio. J'aimerais y mettre une protection pour ne pas que celui ci puisse être diffusé à n'importe qui.

    Je pensais récupérer le numéro de série du disque dur, et générer un password en fonction de celui ci: dans ce cas chaque ordinateur ayant un numéro de série de disque dur différent devra avoir un password différent, et cela me permettrait de bien gérer la diffusion de mon logiciel.

    Cependant, je ne sais pas du tout comment obtenir ce numéro de série. Avez vous une idée?? Ou y a-t-il un autre moyen de faire ce genre de sécurité?


    Jérôme

  2. #2
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Qui va piano va sano...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    le lien microsoft n'a pas l'air mal; cependant, je ne vois pas trop comment je peux appeler la fonction en question...

    Pourriez vous m'éclairer?

  4. #4
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    Je pense qu'il faut installer un SDK (WMI SDK).
    Regarde ce lien :
    http://msdn.microsoft.com/library/de...start_page.asp
    Qui va piano va sano...

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Il y a un forum dédié à Visual C++

    Déplacé

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Points : 40
    Points
    40
    Par défaut
    Dans l'aide MSDN, il existe une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    BOOL GetVolumeInformation(
      LPCTSTR lpRootPathName,        // address of root directory of the 
                                     // file system
      LPTSTR lpVolumeNameBuffer,     // address of name of the volume
      DWORD nVolumeNameSize,         // length of lpVolumeNameBuffer
      LPDWORD lpVolumeSerialNumber,  // address of volume serial number
      LPDWORD lpMaximumComponentLength,
                                     // address of system's maximum 
                                     // filename length
      LPDWORD lpFileSystemFlags,     // address of file system flags
      LPTSTR lpFileSystemNameBuffer, // address of name of file system
      DWORD nFileSystemNameSize      // length of lpFileSystemNameBuffer
    );
    qui permet de récupérer diverse information d'un volume (disque dur, cdrom, ...)

    Dans les paramètres de sortie, il y a le paramètre lpVolumeSerialNumber

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    DWORD GetSerialDisk()
    {
        char    szFileSystemName[50],szVolumeName[50];
     
        DWORD   dwVolumeSerNum, dwMaxCompLen, dwFileSysFlags;
        BOOL    retVal;
     
        retVal = GetVolumeInformation("\\",
                                      (LPSTR)szVolumeName, 
                                      50, 
                                      &dwVolumeSerNum, 
                                      &dwMaxCompLen,
                                      &dwFileSysFlags, 
                                      (LPSTR)szFileSystemName, 
                                      50);
    	return(dwVolumeSerNum);
    }
    // usage:
    CString str;
    str.Format("%X",GetSerialDisk());
    AfxMessageBox(str);
    tu retrouves ainsi le numero de serie du disque visible sous dos quand tu fais un dir ...

  8. #8
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    farscape et Madeiras ont raisons, mais attention car ce numéro change si tu reformate la partition, ce n'est pas le numéro de série du constructeur.
    Après c'est à toi de voir si c'est intéressant d'utiliser ce numéro ou non.
    Qui va piano va sano...

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/04/2008, 16h38
  2. Réponses: 10
    Dernier message: 26/03/2008, 22h37
  3. [Conception] comment créer une page pour modifier un Titre de site
    Par mecmec dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/11/2006, 01h39
  4. Réponses: 4
    Dernier message: 20/08/2006, 16h20
  5. [VB]Comment créer une propriété pour un activex
    Par darksantor dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 08/06/2006, 21h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo