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 :

Compilation des variables de type string


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 215
    Points
    1 215
    Par défaut Compilation des variables de type string
    Bonjour à tous !

    Alors derrière ce titre peu explicite ce cache un problème assez particulier: j'ai développer une application quelquonque, qui marche parfaitement, mais qui nécessite un mot de passe pour accéder à certaines fonctionalités.
    Mais voilà, une fois mon programme compilé, ce que j'obtient quand j'ouvre mon programme avec le blocnote (ici le mot de passe est "super password très compliqué"):

    [plein de truc inchompréhensibles]...o" { (# ... [/plein de trucs inchompréhensibles]
    s u p e r p a s s w o r d t r è s c o m p l i q u é
    [plein de truc inchompréhensibles]...s } s }... [/plein de trucs inchompréhensibles]


    En gros c'est s[espace]u[espace]p[espace]e[espace]r[espace][espace][espace]p[espace]a[espace]s[espace]s[espace]...
    Alors: je précise que la chaîne "super password très compliqué" est déclaré en tant que variable de type string a un endroit du code...
    Nous somme bien d'accord que ici, mettre un mot de passe pour accéder à mon programme ne sert à rien vu qu'on peut le retrouver, même pas facilement, mais très facilement .

    J'ai bien pensé à cryper ma chaîne, càd à la déclarer cryptée dans le code, puis la décrypter ensuite grâce à une fonction, mais petit problème : dans mon programme, je doit avoir entre 10 000 et 15 000 caractères de texte "confidentiel", càd il faut le mot de passe pour y accéder, non pas en une seule chaîne, mais en centaines de variables réparties un peu partout...
    Donc si il faut que je crypte une part une mes chaînes, puis les re-rentre dans mon code, outre le fait qu'à l'édition celui-ci sera illisible, cela va me prendre un temps considérable...

    Quelqu'un à t'il une solution? Commment puis-je protéger mes textes? Utiliser un fichier ressources est encore pire: on n'a même pas les espaces quand on ouvre avec le blocnote...

    Je précise en passant que la version du framework cible est 2.0 ( je ne sait pas, peut-être que ça peut jouer...

    Merci d'avance pour vos réponses...

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Il faudrait passer par un type d'outil nommé "obfuscator" qui permet de crypter les chaines de ton programme. Il y en a pas grand nombre (cherche sur google "DotNet Obfuscator") et la plupart ne sont pas gratuits, mais par exemple, avec Dotfuscator ce que tu veux faire est possible. Sinon à part ça je ne connais pas d'autre solutions "pratique" (à moins que ton logiciel puisse avoir une partie de lui même sur internet ... et encore ...)

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 90
    Points : 72
    Points
    72
    Par défaut
    Et une SecureString ??

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    ... nécessite un mot de passe pour accéder à certaines fonctionalités
    Au lieu d'enregistrer "S u p e r p a s s w o r d t r è s c o m p l i q u é",
    on enregistre son encodage ou son CRC, puis il suffit d'encoder ou de calculer le CRC du PW fourni par l'utilisateur et de les comparer.

    Pour cracker, il faudra connaitre la routine encodage/CRC et être capable de générer un PW donnant le même encodage/CRC.

    Pour cacher le reste, ... reste plus que l'Obfuscator (bon courage) !!!

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par Graffito Voir le message
    on enregistre son encodage ou son CRC, puis il suffit d'encoder ou de calculer le CRC du PW fourni par l'utilisateur et de les comparer.
    Le problème des "10 000 et 15 000 caractères de texte "confidentiel"" restera cependant entier

  6. #6
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 215
    Points
    1 215
    Par défaut
    Ok! merci à tous pour vos réponses !
    Donc:

    Citation Envoyé par smyley Voir le message
    à moins que ton logiciel puisse avoir une partie de lui même sur internet ... et encore ...
    Oui je pense que cela ne sert à rien, car il faudrait de toute façon que j'indique à mon programme où il doit récupérer sa partie manquante, avec accessoirement les mots de passes et identifiants necessaires... On tourne en rond

    Citation Envoyé par smyley Voir le message
    Il faudrait passer par un type d'outil nommé "obfuscator" qui permet de crypter les chaines de ton programme ... mais par exemple, avec Dotfuscator ce que tu veux faire est possible
    Oui ça n'a pas l'air mal, ça ressemble à ce que je cherche. Mais: Dotfuscator est payant ou pas? C'est un logiciel microsoft? Et où tu le télécharge lol j'ai pas trouvé de site microsoft le proposant...

    Citation Envoyé par leo2v2o Voir le message
    Et une SecureString ??
    Je ne suis pas sur étant donné que tu rentre le texte dans ton code "en clair" non ?

    Citation Envoyé par Graffito Voir le message
    Pour cracker, il faudra connaitre la routine encodage/CRC et être capable de générer un PW donnant le même encodage/CRC.
    Oui oui mais cela ne servira à rien car les autres chaînes sont accessible trop facilement.

    Ok donc je pense que je vais partir sur l'obfuscator . Juste si quelqu'un peut me renseigner sur un produit gratuit ça serait cool ! car je ne suis pas professionnel, donc moi payer...

  7. #7
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  8. #8
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 215
    Points
    1 215
    Par défaut


    Je vais me débrouiller avec ça !

    Merci à tous pour vos réponses

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/06/2015, 12h49
  2. Des " dans une variable de type String
    Par 4lkaline dans le forum Langage
    Réponses: 6
    Dernier message: 06/11/2006, 14h20
  3. [VB] gestion des couleurs des variables de type string
    Par landry005 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/03/2006, 14h36
  4. Ajouter a une variable de type string, un entier
    Par Little-Freud dans le forum SL & STL
    Réponses: 12
    Dernier message: 05/03/2005, 19h33
  5. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59

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