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

Delphi Discussion :

Protection contre la décompilation des applis


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 62
    Points : 61
    Points
    61
    Par défaut Protection contre la décompilation des applis
    Bonjour à tout le monde
    J’ai besoin d’en savoir un peu plus sur les protections existantes contre la décompilation des applis.
    2 Questions:
    1/ Delphi génère-t-il des exécutables à la base protégés contre les outils de décompilations qui prolifères sur Internet. Sinon existe-t-il des solutions de protection contre la décompilation au niveau des unités (form.pas).
    2/ je souhaite mettre à la disposition des développeurs un nouveau composant, mais sans le code source. D’après mes renseignements c’est pendant la création du composant qu’il faut décider de distribuer le source ou non.
    Pourriez-vous m’éclairer SVP.
    Merci par avance à toutes vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Un sujet qui revient souvent
    Protéger mon programme contre la copie
    Protection distante par internet
    Des outils comme TurboPower OnGuard

    Peut-on empêcher un programme d'être cracké ?
    La protection juridique du logiciel
    Obfuscation : protection du code source contre le reverse engineering

    Créer une Application Shareware avec Delphi


    Citation Envoyé par 94340DB Voir le message
    1/ Delphi génère-t-il des exécutables à la base protégés contre les outils de décompilations qui prolifères sur Internet. Sinon existe-t-il des solutions de protection contre la décompilation au niveau des unités (form.pas).

    Dans un exe Delphi
    Tous tes SQL sont stockés en chaine, facilement lisible
    Tout les DFM sont stockés en binaire (on peut en extraire le texte avec TStream et ObjectBinaryToText)
    Par contre le code sera décompilé en ASM et certains peuvent retrouve des séquences genre les if while ... mais pas le nom des variables

    Tu peux utilise par exemple UPX, cela compresse ton EXE et même 7Zip n'arrive pas à comprendre le format de l'archive qu'il prend pour EXE (Segment Data Resource) et non pour une archive

    Après un "pirate" zellé trouvera bien quelques choses !
    Il est même fort possible qu'il ne cherche à casser la sécurité que parce que tu en as mis une !
    En réalité, il s'en fout complètement de code, c'était par défi et peut-être par esprit de contradiction !

    Citation Envoyé par 94340DB Voir le message
    2/ je souhaite mettre à la disposition des développeurs un nouveau composant, mais sans le code source. D’après mes renseignements c’est pendant la création du composant qu’il faut décider de distribuer le source ou non.
    Je ne crois pas !
    Beaucoup de composant Delphi existe en version avec ou sans code, c'est juste parfois plus cher !
    !!! Il y a le droit d'auteur !!! et ça rigole pas !
    Tu peux fournir le code mais en interdire la reproduction, la modification et la re-distribution !

    les licences Open Source et le droit français,
    c'est très compliqué de comprendre ces deux parties séparément
    et encore plus difficile de les confronter !


    Pour le code source
    Tu peux distribuer une version en "Open Source" et un jour, tu as modifié tellement le code, il te semble tellement beau, tellement parfait qu'il mérite d'être payant !
    Par contre, tu ne pourras pas empêcher que l'on utilise et modifie les versions précédentes en Open Source surtout si tu as eu des contributeurs qui l'ont modifiés !
    Et peut-être quelqu'un d'encore doué que toi aura tellement amélioré une vieille version qu'elle sera mieux que ta version payante,
    tant que les contributeurs continuent à distribuer en "Open Source" et qu'il devient difficile de savoir qui a contribué à quoi !

    Ton composant, l'as-tu totalement écrit ?
    Et as-tu des bugs, des soucis qui ont été résolu par membre de forum
    As-tu copié du code depuis le forum, Est-ce des contributeurs à ton code ?
    Existe-t-il des lois sur ce que l'on écrit sur un forum comme développez.com ???


    MySQL par exemple était gratuit si l'on avait une appli "Open Source" et avec une licence payante par serveur pour une appli propriétaire
    Depuis MySQL a été racheté par Oracle et est apparu MariaDB ... et la gestion de licence c'est toujours pas plus clair !

    Pour le binaire

    Mais tu aussi distribuer gratuit ton programme sans le code source, le cas du Freeware
    Plusieurs fois des Freeware sont devenu payant avec le temps !
    Et inversement, un Shareware, le développeur ne s'en occupe plus,
    soit il devient gratuit ou même parfois le code est publié

    Perso tous mes codes ont été inspirés par un autre :
    - du code copié depuis de la RTL ou VCL,
    - de la MSDN,
    - d'ici même,
    - de StackOverFlow ...
    Pour la partie purement technique lié à un RTL et VCL comme colorier une TDBGrid ou bidouiller les Styles VCL,
    je trouve cela naturel de le distribuer à tout va si cela répond à une question sur le forum,
    J'ai souvent appris des trucs en m'intéressant aux problèmes des autres auxquels je n'ai pas été confronté durant mes travaux
    Quelques années, ma petite tête se souvient de cela et je ré-utilise au boulot du code que je trouve sur le forum,
    certains que j'ai écrit et d'autres fournis pas les membres que j'ai juste copié et remis en forme à mon gout !
    Où est le droit d'auteur dans tout ça ???




    Les problèmes de licence, de contamination de la licence d'un composant utilisé par un autre,
    c'est bien compliqué !

    Un composant cela sera plutôt sous forme de BPL
    On voir souvent des bibliothèques où seul le BPL est fourni !
    Même dans Delphi c'est le cas avec les drivers DBExpress !

    Personnellement, j'utilise ODAC, une versions sans source (deux fois moins cher) mais souvent la documentation est floue !
    Quand j'ai utilisé il y a quelques années MyDAC,
    j'étais content d'avoir les sources pour être sur que cela fonctionne que je l'avais observé et pas comme la documentation le laissait croire
    Il a fallu attendre quelques releases pour que la doc soit corrigé !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 62
    Points : 61
    Points
    61
    Par défaut Protection des applis - distribution de composants
    Merci ShaileTroll,

    Professionnellement j’ai souvent utilisé des dongles USB pour protéger les applications destinées aux clients.
    Malheureusement je ne peux pas distribuer un d’ongle USB pour chaque client, car certains ne supportent pas ce type de protection et c’est plus onéreux à gérer par la suite. De ce fait, je n’utilise qu’exceptionnellement cette technique de protection.

    En ce qui concerne les composants : tous d’abord je ne suis pas très doué pour créer des composants sophistiqués, d’ailleurs j’ai même posté une question à ce sujet sur ce forum.

    Concernant les sources d’aide que l’on peut trouver sur les forums, je vous répond oui et Je souligne au passage que le site DEVELOPPEZ.COM est un site d’utilité public pour tous les développeurs en informatique. Je remercie de ce fait, tous ceux qui ouvrent tous les jours au bon fonctionnement de celui-ci et à tous ceux qui prennent un peu de leur temps pour répondre et aider les autres selon la disponibilité de chacun).

    Etant électronicien de métier à l’origine, j’ai développés en collaboration avec d’autres informaticiens, quelques composants destinés au traitement des signaux analogiques, numériques, CTN, CTP, Sonde, asservissement. Tous ces composants ont été développés dans un but pédagogique destinés aux étudiants et lycéens. Je suis sénior et j’aime bien partager mon expérience.
    Sur le plan professionnel J’ai développé des applications destinées à la gestion de la détection Incendie, la maintenance aéronautique, etc…

    Je me sens de ce fait, un peu isolé parmi la communauté Delphienne car les sujets traitant de l’interfaçage électronique, l’acquisition et la programmation destinée au pilotage de cette dernière, n’est pas très courant sur Internet.
    Mon objectif était de partager quelques composants spécifiques liés à l’acquisition électronique, des commandes à distance en passant par des modules GSM et créer un nouveau sujet de discussion.
    Malheureusement les composants que je voulais partager ne m’appartiennent pas complètement, donc je n’ai pas l’autorisation de distribuer le code source.
    Amicalement.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Citation Envoyé par 94340DB Voir le message
    Je me sens de ce fait, un peu isolé parmi la communauté Delphienne car les sujets traitant de l’interfaçage électronique, l’acquisition et la programmation destinée au pilotage de cette dernière, n’est pas très courant sur Internet.
    Ma brève incursion dans le domaine industriel fut en C++Builder
    La partie électronique était codé en C 16Bits
    et il y avait encore de ASM pour des puces des années 80 pour le concentrateur RS422*\RS232.
    L'IP était géré matériellement,
    un switch permettait soit d'utiliser le RS422 soit la carte IP intégré (les données étaient les même que celle du RS422, le programme C ne voyait pas la différence, c'était la même UART)

    *RS422 avec de gros borniers verts , j'étais nul pour cabler !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 62
    Points : 61
    Points
    61
    Par défaut Delphi et les machines industrielles
    Bonjour ShaileTroll,
    merci pour votre la réponse
    Désolé pour le retard je suis allé chercher un peu de soleil dans le sud.
    Concernant les interfaces ’électroniques, la domotique, la gestion des ports d’entrées et sorties par Delphi, je mettrai quelques informations dès que j’ai le temps.
    Ex: pour la gestion de bâtiment ou comment placer des modules électroniques dans des endroits clefs d'un bâtiment et enregistrer dans une base de données Delphi les informations reçues.
    Toutes ces applications sont facilités aujourd'hui grâce à tous les composants ou modules prédisposés pour telle ou telle application qui existent sur le marché.
    Des modules GPS permettent exemple de suivre un véhicule en cas de vol sans passer par un abonnement.

    Nom : interface.jpg
Affichages : 947
Taille : 75,8 Ko Nom : interface2.jpg
Affichages : 907
Taille : 30,0 Ko
    A+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/07/2010, 15h32
  2. Programme de protection contre le déni de service
    Par EJ dans le forum Développement
    Réponses: 7
    Dernier message: 03/07/2009, 22h14
  3. La meilleure protection contre le piratage des logiciels ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 184
    Dernier message: 23/12/2008, 13h35
  4. [WinForms]Améliorer le design des appli windows ?
    Par annalady dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 29/11/2005, 14h19
  5. PROTECTION CONTRE LES ASPIRATEURS DE SITE
    Par squalito dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/01/2005, 14h06

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