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

WinDev Discussion :

Reverse engineering d'une application Windev : est-ce possible ?


Sujet :

WinDev

  1. #1
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut Reverse engineering d'une application Windev : est-ce possible ?
    Bonjour,

    Je me pose une question : est-il possible de faire un reverse engineering d'une application windev ?

    J'ai actuellement un projet qui utilise des mots de passe que je stocke en tant que constante globale au projet. Évidement je ne souhaite pas que quelqu'un puisse y avoir accès par un simple reverse engineering.

    Avez-vous des solutions pour protéger au maximum les mots de passe utilisés en dur dans le code ?

    Merci d'avance
    Google est ton ami !

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Ce sujet a déjà été évoqué plusieurs fois dans ce forum.
    Si tu mets du temps et beaucoup d'énergie, ce doit être crackable (comme tout logiciel).

    L'utilisation des DLL du framework rend cette recherche très fastidieuse.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Bonjour frenchsting,

    J'ai lu effectivement pas mal de chose à ce sujet mais à chaque fois les articles / conversations datent de quelques années... Je souhaite savoir s'il existe aujourd'hui en 2016 des solutions qui permettent de faire ce genre de chose. Et si oui (tout l'intérêt de la question est là) que faire pour éviter cela ?
    Google est ton ami !

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Crypter les données. Les exe sont pas mal brouillés, du coup, pas facile d'identifier le mot de passe et encore moins de le décrypter.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Et c'est justement là le coeur du problème !

    Pratiquement toutes mes données sont cryptées. Cependant les fonctions de cryptage (Crypte, CrypteStandard) nécessite un mot de passe pour effectuer le chiffrement. Et c'est justement ce mot de passe (actuellement en dur et en clair en constante dans le code) que je souhaite protéger.
    Google est ton ami !

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Dans ce cas au lieu de stocker "en clair" le mot de passe, écrit une procédure qui reconstruit la chaine en question sans partir d'une chaine initiale.
    Par exemple en construisant un tableau d'entiers dont le premier est le code ASCII (plus ou moins un décalage) du premier caractère, et les autres un entier signé à ajouter au code précédent pour retrouver le suivant.

    Mon explication n'étant pas bien claire, voici un exemple:
    1,18,-5,6,-4

    Le premier code ascii serait le 125 (j'ajoute 124, qui est en dur dans le code, mais tu peux choisir une autre valeur), le deuxième le 143 (+18), le troisième le 138(-5), le quatrième le 144 et le cinquième le 140.

    Tatayo.

  7. #7
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Bonjour tatayo et merci pour ta réponse. Je pense qu'initialiser son mot de passe de façon "artisanale" comme tu l'expliques ne fera que rendre le débogage un peu plus dure mais cela ne l’empêchera pas (débogage dynamique : il n'y a qu'à suivre en pas à pas pour le retrouver).

    En naviguant sur le net j'ai trouvé ce logiciel (payant) : http://www.softprotect.fr/softprotec...ebug/index.htm
    Donc il doit bien y avoir des techniques qui permettent d’empêcher un débogage....
    Google est ton ami !

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    +1@Tatayo

    Tu peux ajouter énormément de systèmes de sécurité mais il ne faut pas oublier :
    - quel est le risque réel ?
    - combien je suis prêt à mettre financièrement ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  9. #9
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    En fait pour pouvoir répondre à tes deux questions j'aurais déjà besoin de savoir, de connaitre ce qu'il est possible de mettre en place. Ce qui existe.

    C'est pourquoi j'ai ouvert cette discussion. Je cherche plus à regrouper les différentes techniques existantes sans forcément avoir les informations détaillées sur leur intégration.
    Google est ton ami !

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    çà ne marche pas avec du p-code.

    Votre code réel est dans le fichier de ressource .WDL pas dans l'EXE
    Le fichier EXE, n'est rien d'autre que le runtime PC_Soft, et à ce titre il est identique pour toutes les applications créées avec WinDev.

    A une époque, même les commentaires étaient stockés dans le fichier WDL, je ne sais pas si c'est toujours le cas avec les versions récentes.

    Votre seule solution c'est d'utiliser une véritable DLL pour y exécuter le code critique.

    ...

  11. #11
    Membre actif
    Homme Profil pro
    Ingé Indus
    Inscrit en
    Juillet 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingé Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 107
    Points : 241
    Points
    241
    Par défaut
    Je dirais que le risque d'un logiciel d'être "cracké" est inversement proportionnel a sa "réputation"/diffusion.

    La protection que tu site est la seule solution commercial (à ma connaissance) intégrable dans windev.
    après tu as plein d'autre solution "d'encapsulation" et de protection, comme le dongle de Windev, les CD des jeux PC/Console ...

    Après tout reviens sur la première phrase.
    Dans l'absolu, tout est "crackable". Mais la volonté/énergie d'un hackeur sera limité par l'effort qu'il doit fournir pour arriver a ca fin. Si cela est trop dur pour le gain espéré il ne le fera pas/abandonnera.

    Tout est histoire de compromis...

  12. #12
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Bonjour Patrice,

    çà ne marche pas avec du p-code.
    Que veux tu dire par cela ? Qu'est-ce qui ne marche pas avec du p-code ?

    A une époque, même les commentaires étaient stockés dans le fichier WDL, je ne sais pas si c'est toujours le cas avec les versions récentes.
    Donc tu penses que tout est accessible et que rien ne peux être masqué ?

    Votre seule solution c'est d'utiliser une véritable DLL pour y exécuter le code critique.
    Qu'est-ce que cela change d'utiliser une dll ? Est-ce vraiment différent de faire un reverse sur le .exe ou une dll ? Connaissez-vous des articles à ce sujet accessible sur le net ?

    ------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------

    Bonjour yoshi570,
    J'ai bien compris toute cette notion de temps passé vs intérêt de le faire. Mais à l'heure actuelle je ne connais aucune technique qui permettent de compliquer la tache du reverse. Et c'est bien ça que je vous demande aujourd'hui
    Même si mon projet actuel ne nécessite pas une protection maximale je souhaiterais connaitre ce qu'il est possible de faire...
    Google est ton ami !

  13. #13
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Dans ce cas au lieu de stocker "en clair" le mot de passe, écrit une procédure qui reconstruit la chaine en question sans partir d'une chaine initiale.
    Par exemple en construisant un tableau d'entiers dont le premier est le code ASCII (plus ou moins un décalage) du premier caractère, et les autres un entier signé à ajouter au code précédent pour retrouver le suivant.

    Mon explication n'étant pas bien claire, voici un exemple:
    1,18,-5,6,-4

    Le premier code ascii serait le 125 (j'ajoute 124, qui est en dur dans le code, mais tu peux choisir une autre valeur), le deuxième le 143 (+18), le troisième le 138(-5), le quatrième le 144 et le cinquième le 140.

    Tatayo.
    Bonjour,
    Bravo ! tu m'enlève une épine du pied!

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/09/2011, 12h35
  2. [Visual VM] Profiler une application OSGi, est-ce possible ?
    Par Baptiste Wicht dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 05/07/2010, 23h45
  3. [WinDev] Est-il possible d'executer une application Win32 dans un site ?
    Par ran_hery dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 22/09/2006, 14h41
  4. Réponses: 2
    Dernier message: 12/09/2006, 08h20
  5. Réponses: 2
    Dernier message: 11/02/2006, 12h56

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