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

C Discussion :

DLL qui ? que ? quoi ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Par défaut DLL qui ? que ? quoi ?
    Dans le cadre de mon boulot, je dois faire une appli et limiter le nombre d'installation pour ce faire je compte autoriser uniquement que quelques numéros de série de disque dur.

    L'objectif du jour est de faire une dll qui mette à disposition une fonction qui va récupérer le numéro de série du disque.

    Voici mes questions :
    - Comment créer la DLL si on a pas Borland, Visual... mais uniquement le gcc de cygwin avec dlltool ? Concrètement il y a quoi dans une DLL ? Comment ça se compile ?

    - Existe-il une librairie qui me permette d'utiliser les commandes system : system('VOL') ?

    Je me pose toutes ces questions car j'ai trouvé sur le net la dll getDiskSeril.dll (qui est payante a des fins professionnels) et j'aimerais faire la même chose sans avoir de problème de license...

    Merci pour votre aide,

    EDIT : je pense avoir trouvé un truc intéressant :
    http://www.cygwin.com/cygwin-ug-net/dll.html

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par gronaze Voir le message
    - Existe-il une librairie qui me permette d'utiliser les commandes system : system('VOL') ?
    Heu sérieusement, tu vas baser la protection de ton logiciel sur le numéro de série retourné par la commande VOL ?

    Si c'est cela, ne met pas de protection du tout, tu gagneras du temps et tu ne rajouteras pas de bugs.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Par défaut
    Beh en fait je voulais reprendre l'idée de ce lien , mais si tu as d'autres idées ram-0000 je suis preneur.

    Par ailleurs que reproches tu à la fonction VOL, elle n'est pas fiable ?

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Non, le numéro de série affiché par la VOL n'est pas fiable.

    C'est un reste du DOS et globalement, c'est l'encodage de la date de formatage du disque dur.

    Il est très facile de patcher son disque dur pour obtenir n'importe quel numéro. Cette modification du numéro de série n'altère en rien le fonctionnement de l'OS qu'il y a dessus, c'est sans risque.

    La protection d'un logiciel reste toujours une affaire délicate. C'est un juste milieu entre le prix du logiciel (ou des données manipulées) et le prix de la gestion des licences (surplus de code, gestion et attribution des licences, ...). De plus, si ton logiciel présente un intéret, il sera cracké et il y a plein de méthodes pour cela (patch du binaire pour que le test de la licence retourne toujours VRAI, création d'un générateur de clés ou bien clé valides qui tournent dans la nature ou d'autres moyens encore).

    Si tu veux quand même utiliser une licence ou une protection, base la au moins sur quelque chose que l'utilisateur ne peut pas modifier :
    • numéro de série hardware du disque dur,
    • adresse MAC d'une carte réseau (encore que cela se modifie avec certaines cartes),
    • host identifier sur les machines Windows (c'est un nombre aléatoire et unique dans le temps et dans l'espace ou pas loin initialisé lors de l'installation de l'OS).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 91
    Par défaut
    Il parait que les dongles sont fiables pour la gestion de licence.

    Mais je rejoins l'avis de ram-0000 c'est très difficile d'obtenir quelque chose d'infaillible. Les grandes sociétés y mettent du budget; d'autres comme microsoft ont laissé des failles pour les windows (98, 2000, XP...) (mais il se peut que ce soit aussi une stratégie commerciale).

    Tu trouveras toujours quelqu'un d'encore plus malin que toi .

    J'ai vu dans la nature des applications dont le code est dans des blocs d'exceptions. Autrement dit l'application générait des exceptions afin d'exécuter son code utile. J'ai vu des application codées en différents langages pour pourrir la vie de celui qui cherche à la patcher. D'autres plus paranoïaques s'amuser à analyser les comportements du µP pour détecter qu'ils sont entrain d'être désassemblée/déboguée.

    Mais rien n'est infaillible.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Par défaut
    OK, finalement j'ai pris l'adresse mac, mais aussi le numéro de série du disque dur ainsi qu'une date au delà de laquelle le logiciel s'arrête.

    Bien que l'application ne nécessite pas du tout ce niveau de sécurité. L'objectif est que notre client ne transmette pas l'application à d'autres personnes !

    En tout cas merci pour vos remarques.

    Finalement j'ai généré la DLL directement depuis Visual studio et ça marche très bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. dll qui ne fonctionne que sur mon PC ?!
    Par granbapt dans le forum C
    Réponses: 6
    Dernier message: 22/06/2012, 12h20
  2. [Dll]qui fait quoi?
    Par clovis dans le forum C++Builder
    Réponses: 12
    Dernier message: 10/02/2006, 09h44
  3. [C#] dll autre que celle de ODBC
    Par Lambrosx dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 25/05/2005, 10h18

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