|
Publicité | |||||||||||||||||||||||
|
|
#1 |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Bonjour à tous,
Voici mon petit soucis, En fait je souhaiterais offusquer mon programme (en .exe) avant de créer le setup de telle sorte que lorsque l'utilisateur va installer mon programme (grace au setup .msi), le fichier .exe soit offusqué ! En ce moment, je ne veux offusquer que le programme hors du setup et donc si je "build" mon setup alors lors de l'installation, il va m'installer le programme non offusqué... Je ne sais pas si je suis clair mais c'est pas facile à expliquer. En clair, comment se débrouiller pour que une fois le programme installé (par le setup .msi) sur la machine distante, il soit offusquer ?
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
00
|
|
|
#2 |
![]() ![]() Johann BlaisArchitecte de système d'information Inscription : avril 2007 Messages : 4 018 ![]() |
Juste pour savoir : quel est l'intérêt d'offusquer le programme ? Si la personne veut vraiment voir ton code, ce genre de choses est inutile... C'est un peu comme si tu effaçais les petits symboles sur ton levier de vitesse dans l'espoir de décourager les gens de voler ta voiture...
Mais ce n'est que mon avis. Autre question pourquoi tu n'offusque pas ton programme après la compilation et qu'ensuite seulement tu construises le setup ? Autre chose encore, as tu essayé d'ajouter une étape de post-compilation de ton projet et qui justement appelerait le programme d'offusquation ?
__________________
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5 sous license Apache 2.0. Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter |
|
00
|
|
|
#3 | |||
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Citation:
Citation:
Citation:
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : octobre 2002 Messages : 9 165 ![]() |
Il existe des programmes pour faire ce genre de choses normalement: je pense par exemple à Xenocode (mais payant)
__________________
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là) A la découverte de .NET |
|
|
00
|
|
|
#5 |
![]() ![]() Johann BlaisArchitecte de système d'information Inscription : avril 2007 Messages : 4 018 ![]() |
Pour l'étape de post-compil, tu peux voir dans les propriétés du projet, onglet build ou compilation (de mémoire, et suivant la langue).
__________________
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5 sous license Apache 2.0. Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter |
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Citation:
SaumonAgile, je ne vois pas les options "post-build" dans les propriétés du projet, onglet "compilation". Est ce bien dans els prorpiétés du projet ? de la solution ? ou de projet d'install ?
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
Options du projet > ~Evenements de compilation ( Build Events, vu que je l'ai en anglais ) là tu as 2 boites : pre build events et post build events Dedans tu peut alors mettre tes commandes avec une syntaxe proche des fichiers .bat. Et puis pas obligé d'utiliser un truc payant, y'en a des gratuits : http://dotnet.developpez.com/outils/...poseObfuscator |
|
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 238 ![]() |
Citation:
|
|
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Citation:
Désolé mais je trouve toujours pas. Voila ce que j'ai dans les options du projet : http://www.zonegeeks.com/temp/p.JPG PS : Effectivement offusquer le code est une tache importante pour ne pas se faire voler son projet EDIT : Je pense que j'ai trouvé l'endroit ou taper des lignes de code mais que dois je mettre pour offusquer le programme lors de la création du setup ?
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
Dernière modification par Aspic ; 12/12/2007 à 15h35. |
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Je relance la nouvelle question :
Que dois je entrer dans "post build" pour offusquer le code après compilation ?
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
J'ai trouvé une as tuce mais je voudrais avoir votre avis :
Si je mets les chaines de caractères sensibles dans les ressources du programme et que je les utilise avec : Est ce qu'il est possible par décompilation d'accéder à ces chaines ?
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé Sénior
![]() ![]() |
C'est encore plus facile d'y accéder que si elles étaient codée en dur ...
|
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Citation:
![]() Donc en gros, il y a aucun moyen de brouiller le texte codé en dur... Bon, je vais réfléchir à une solution car j'ai pas envi de payer 500 dollars pour acheter Xenocode Pro !!
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
|
00
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 238 ![]() |
Dotfuscator community edition il ne fait pas ce genre de chose?
|
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Malheureusement non, c'est la première chose que j'ai vérifée.
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
00
|
|
|
#16 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 238 ![]() |
Serait-ce peut-être possible que tu obtiennes les pass de ton serveur au moment du runtime voir même son adresse en consultant un webservice?
Ca te permettrait de les changer fréquemment et ça éviterait de cacher les infos de login directement dans l'application. Sinon tu peux toi-même mettre une chaine cryptée en dur dans le programme, et tu offusques l'algo qui permet d'en faire quelque chose d'utilisable. Si c'est une grande application faut déjà y aller pour savoir ou c'est au milieu d'une floppée de classe avec des noms à ressort. Par ailleurs, le compte FTP que tu utilises, il est clair que ce doit être un compte limité au strict minimum niveau droit. Si c'est un FTP de pages perso avec les mêmes informations de login que ton propre compte client, en effet ce n'est pas top. En plus tu vas faire du SSL ? (C'est supporté par FtpWebRequest) Car sinon il est probable qu'il suffise de sniffer les paquets pour le voir apparaître en clair. |
|
|
00
|
|
|
#17 |
![]() ![]() Johann BlaisArchitecte de système d'information Inscription : avril 2007 Messages : 4 018 ![]() |
Avec ce FTP, tu vas seulement lire des fichiers ou aussi en écrire ? Parce que si c'est simplement pour lire, tu pourrais utiliser un compte en lecture seule. De cette manière récupérer les accès aux ftp est moins critique.
__________________
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5 sous license Apache 2.0. Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter |
|
00
|
|
|
#18 | |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Citation:
Sinon peut etre que la méthode de _skip peut marcher mais je ne vois pas trop comment la mettre en place ![]() En ce moment, j'ai offusqué le programme avec Xenocode 2007 qui possède tout ce que je cherche mais payant
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
|
00
|
|
|
#19 |
|
Membre habitué
![]() Inscription : décembre 2007 Messages : 119 ![]() |
Ou sinon si seule la connexion a ton FTP est sensible, place la dans un fichier de configuration (ou autre) et encrypte/décrypte ce fichier avec les lib fournie par .Net pour le cryptage.
|
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() Florent DiedlerÉtudiant Inscription : août 2005 Messages : 3 718 ![]() |
Bonne idée mais pour le cryptage (par exemple avec Vigenère) on a besoin d'une Key et donc cette Key sera codé en brut dans le code et donc on retombe sur le problème précédant... à moins qu'il soit possible de générer une clef "aléatoire" mais je ne pense pas...
__________________
Qui ne tente rien n'a rien ! Ce qui ne nous tue pas nous rends plus fort !! Mon projet ZELDA en C++/Allegro http://www.tutoworld.com - Le Forum - Mes ressources Dotnet (cours, sources, tutos) -------------------------------------------- + + = ![]() Ne pas oublier le Tag !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com