1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Ou je stock un code licence ?

Discussion dans 'Windev' créé par Mohamed, Mar 22, 2018.

  1. Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Bonjour

    A chaque première installation chez le client , on doit stocké sa licence dans la base de registre,puis à chaque lancement de l'application on lit depuis, la base de registre, ce code pour faire une vérification.
    Cette vérification est précédée comme suit:
    1 On lit le code de licence
    2 on vérifié si la variable de base est vide on demande la licence, sinon on continuer ...

    Mais je vois que cette méthode un peut débutante et n'est pas bien sécurisée, en plus parfois on rencontre des soucis concernant le chemin dans la base de registre est ceci selon le plateforme de windows(XP,7,8,8.1,10,windows server 2008,2012,2016,processeur 32 ou 64) c'est à dire les chemins de base sont différentes.
    Pour ce faire, et d'après vos expériences, je vous demande de me donner une piste ou une autre méthode professionnelle

    Merci d'avance
     
    Tags:
    aminej76 apprécie ceci.
  2. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Stock plutot la licence dans les fichiers de ta base de donnée
    Moi j'ai un fichier PARAM.FIC ou je stocke :

    Nom du poste : netadresseip()
    Licence : calculé par algo maison (en fait IP convertie en Chiffre lettre)
    Date Fin licence : important pour signaler au client quand arrete sa licence

    Cette méthode est plus fiable et si un poste plante et est reinstallé on ne perd pas la licence
     
    ANDRE3000, aminej76 et joker aiment ça.
  3. joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14
    Héllo @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Si tu veux utiliser les registre windows,
    regardes RegistreEcrit (Fonction) dans l'aide


    Application 32 bits fonctionnant sur un système 64 bits

    Sur un système 64 bits, les applications 32 bits écrivent dans la base de registre à partir de la branche suivante :
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

    Tu devras gérér les versions de windows, les versions x32, x64, ... tout 1 programme ;)

    Je préfère la version de @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    en fichier crypté ;)
     
    aminej76 apprécie ceci.
  4. Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    de ton retour

    c'est un avis personnel.
    1 La vérification du licence doit être faites avant tout, avant de lire/ouvrir un fichier (comme votre cas)
    2 N'importe qui peut lire la licence depuis le fichier PARAM.fic et comme vous savez (HFSQL n'est pas bien sécurisé)
    3 En ce qui concerne la perte des licences chaque client garde sa licence et s'il est le cas je garde aussi les licences de mes clients.

    A plus
     
    aminej76 apprécie ceci.
  5. Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    et Merci pour ta réponse

    Je'utilise parfaitement les fonctions de RegistreXX()
    Bien sur je gere les version de windows par ceci
    SELON SysVersionWindows()
    CAS "7"
    SI SysVersionWindows(sysProcesseur)=32 ALORS
    gsCheminKey ="HKEY_LOCAL_MACHINE\SYSTEM\Setup"
    SINON
    gsCheminKey ="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node"
    FIN
    ....
    Mais mois aussi je préfère d'utiliser les fichiers .fic mais il faut encore des astuces à ajouter au fichier .fic
    A plus
     
    aminej76 apprécie ceci.
  6. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    Ma licence est cryptée... Mon fichier param est protégé par mot de passe
    J'offre 1 millions de dollars russes à celui qui arrive a décrypter du PGP :p
     
    aminej76 et JHDSoft aiment ça.
  7. joker

    joker New Member
    MEMBRE WX

    Inscrit:
    Jan 30, 2018
    Messages:
    0
    J'aime reçus:
    14
    Attention quand même à bien sécuriser ... :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    aminej76 apprécie ceci.
  8. Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Mais par défaut/volontier le fichier peut subir à une suppression
     
    aminej76 apprécie ceci.
  9. gapplicat

    gapplicat Well-Known Member
    MEMBRE WX

    Inscrit:
    Mar 8, 2018
    Messages:
    399
    J'aime reçus:
    708
    L'écriture dans la base de registre est encore pire au niveau de la sécurité...
    Par exemple, mon logiciel Advanced system Care me signale quel éléments de la base de registre est ecrit/modifié par n'importe quel logiciel
    et la base de registre est modifiable et consultable sans restrictions...

    Au niveau de la sécurité des clés de licence, à mon avis, une seule règle : cryptage de la chaine et cryptage du fichier

    En ayant bien conscience qu'aucun niveau de sécurité n'est infaillible, même avec un dongle... suivez mon regard ;)
     
    aminej76 apprécie ceci.
  10. FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    Pourquoi cacher la clé, il faut simplement générer une clé liée au poste.

    Par exemple, on utilise le numéro de série du disque C, simple et on pourrait y ajouter le numéro de la carte graphique ou autres.

    Bref, avec une clé privée et celle du disque C, on génère le numéro de série du poste, puis avec une autre clé privée on génère la clé d’activation.

    sSerialHexa = NumériqueVersChaîne(fDisqueInfo("C:", fdNuméroDeSérie), "X")

    N° de série du poste : 142419D2
    Clé du poste généré : BDB9-47BD-2E01-23A0
    Clé d’activation : 27D4A-DD641-F3B2F-61FEE-3B916-A8998-DC455-AC28F

    Cette clé d’activation peut être en clair dans un fichier et lu au lancement de l’application pour vérification.
    On vérifie si la clé du poste avec la deuxième clé privée donne la clé d’activation.
    Pour pouvoir utiliser cette clé d’activation sur un autre poste, il faut changer le numéro de série du disque et il faut aussi le savoir.

    Le problème est de donnée une clé par poste, mais c’est un vrai contrôle, et la clé peut être gérée par un site web et un compte,
    ou un serveur en interne pour éviter son utilisation en dehors de l’entreprise en automatique.
     
    aminej76 et JHDSoft aiment ça.
  11. JHDSoft

    JHDSoft Member

    Inscrit:
    Mar 4, 2018
    Messages:
    41
    J'aime reçus:
    25
    FreudWD
    Meme chose que toi mais ne compte pas boucoup sur le numdisque car il u a pas mal des outil pour changer le num juste pour les app
    Ta methode exelent mais il faux ajoute des autre donner que le numdisque
    Pour moi j utilise le num de disque de hfsql plus des autre donnee du serveur avec un procedur stockee si la license est en multi poste. Si avec un nombre fix de terminal alors la j ajoute quelque donee du poste.
    Avec une Base de donnee crypte et le donnee aussi crypte avec des algo complexee
    Enfin il y a pas mal des methode ...
    Mais la si gapplicat à donner 1 millions de dollars à celui qui arrive a le décrypter moi j donne 2 millions ... :|





     
    aminej76 apprécie ceci.
  12. aminej76

    aminej76 Active Member
    MEMBRE WX

    Inscrit:
    Jan 23, 2018
    Messages:
    283
    J'aime reçus:
    102
    Effectivement, il ne faut pas se limiter au N° de série du disque dur.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    : C'est quoi le le num de disque de hfsql
    Pour moi je stocke les informations dans 4 fichiers séparément et qui ont tous une relation entre eux. Parce que que supposons un fichier contient une information cryptée peut être supprimé ou modifiée, on retrouve un problème avec les autres fichiers.
     
  13. JHDSoft

    JHDSoft Member

    Inscrit:
    Mar 4, 2018
    Messages:
    41
    J'aime reçus:
    25

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    : C'est quoi le le num de disque de hfsql
    Cliquez pour agrandir...
    C le numero de disque du server ou c trouve le server de base de donnee HFSQL
    Cad numero de serie de disque de base de donnee

    Rem: le numero est changable a chaque formatage de disque.
     
    aminej76 apprécie ceci.
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Souvent les cryptos les plus complexe tombent à cause du développeur qui code une simple comparaison de numéro de licence après extraction.
    Il suffit alors de trouver dans le code la comparaison et la remplacer par son contraire, ou je dirais mieux, sortir le texte qui doit être dans la table au moment de la comparaison et la remplacer par une table non crypter.

    Pour parer ces deux méthodes avec l’utilisation d’un assembleur, c’est de mettre dans la table d’autres éléments primordiaux au fonctionnement de l’application, que le simple numéro de série.
    Et pour la comparaison, il faut noyer le poisson avec des traitements rapide mais très long en debug, avec plusieurs comparaisons ou la même en plusieurs fois (du coup pas visible).

    De même pour la procédure stocker qui retourne toujours oui, surtout si vous laissez trainer l’analyse pour les mise à jour automatiques.

    La plus grosse sécurité n’est pas la façon de faire, mais plutôt la façon de le cacher, simple et introuvable, au lieu de complexe et traçable comme le petit poucet, car avec ce dernier, une petite piste permet déjà de réfléchir à une solution.

    Mais bien sûr, le niveau de sécurité dépendra du prix du produit, souvent le nom de l’utilisateur avec le nom de la machine suffit (pour l’associer avec la clé privée),
    car le débuggeur voit ça comme un traitement réseau classique (surtout si c’est affiché dans l’application),
    et compléter l’exécution avec la lecture de plusieurs numéros de série pour focaliser ses recherches là-dessus.
     
  • JHDSoft

    JHDSoft Member

    Inscrit:
    Mar 4, 2018
    Messages:
    41
    J'aime reçus:
    25
    Salam

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Voila maintenant tu a toucher le vrai problem
    Beaucoup des demande de verification de license avec plusieur methode et en plusieur place dans le codes enfin dans tt lapplication est en plus meme si tu trouve dans un demande quil y a un essai de le crackee ne le notifier pas directement que apre un peut du temps du traittement est de declanche un autre methode qui na jamais utilisee au verification etc...
    Enfin tres complique d exliquee tt ca ici mais j esper que j passee bien mon message
    Salam
     
    mspro apprécie ceci.
  • RayMM

    RayMM Member

    Inscrit:
    Mar 3, 2018
    Messages:
    48
    J'aime reçus:
    7
    Merci à vous tous pour cette discussion, c'est très intéressant.
     
  • mistersoft

    mistersoft Active Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    129
    J'aime reçus:
    128
    Bonjour à tous,

    Trés interressant le sujet, mais juste un point :
    - Sur Win 10, je pense qu'il vaut mieux laisser tomber la solution de la BDR, à chaque mise à jour importante, celle ci est complètement réinitialisée. ;)
     
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Bonjour Gapplicat

    Lors on utilise l'adresse ip la fonction netadresseip() lit par défaut le MAC virtuelle par exemple de Kasperskey car cette dernière est activé par defaut

    Comment on peut lire la vrai MAC de pc?

    Merci
     
  • FreudWD

    FreudWD Well-Known Member
    MEMBRE WX WXG 21

    Inscrit:
    Jan 22, 2018
    Messages:
    200
    J'aime reçus:
    374
    La commande "ipconfig /all" donne le même résultat ?
     
  • Mohamed

    Mohamed Active Member

    Inscrit:
    Jan 15, 2018
    Messages:
    304
    J'aime reçus:
    60
    Cette commande "ipconfig /all" on ne peut pas l'utiliser dans windev !!!

    et pourtant cette fonction je la tester depuis le dos lit toujours la MAC même si elle est virtuelle.

    Comment on peut lire la vrai MAC de pc?
     
  • Partager cette page

    Chargement...