Vérouillage macro

Yacine

XLDnaute Occasionnel
Re Bonjour;

Ce que je veux exactement c que ma macro soit cryptée, je veux que l'utilisateur ne voit pas le programme, il peut que l'exécuter, donc même pas voir sa structure.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Vérouillage macro

Bonjour Yacine, bonjour le forum,

Excel n'offre pas de sécurité fiable. Tu auras beau mettre un mot de passe dans le VBA, des experts se feront un plaisir de le cracker les doigt dans le nez (je sais c'est pas propre mais les experts sont comme ça...). Maintenant si la majorité des utilisateurs se situe à mon niveau de "buse inculte" ou en dessous, tu vas dans VBE, tu cliques avec le bouton droit sur le nom du projet VBA et tu choisis l'option Propriétes de VBAProject.... Dans la boîte de Dialogue, onglet Protection, coche la case, tape un mot de passe, confirme et valide.

Ton projet ne s'affichera que si le mot de passe et correct. Mais, encore une fois ça fait rire les balèzes et chanter les étourneaux...

Édition :

Hola José ! Que tal ?
 

myDearFriend!

XLDnaute Barbatruc
Re : Vérouillage macro

Bonjour Yacine, jp14, jmps, Robert,

Juste en passant...
jp14, il faudra quand même que tu m'expliques en quoi une xla peut être plus difficile à déplomber qu'un simple classeur xls ?
Une xla c'est un classeur "normal" dont l'ensemble des feuilles de calcul sont invisibles, mais du côté VBE, c'est du pareil au même !

Depuis quelques temps, ça fait plusieurs fois que je vois cette affirmation dans ce forum, et là, soit il est temps de m'aider à combler mon ignorance sur le sujet, soit il serait quand même bienvenu de tester les trucs qu'on annonce par ci, par là et qui ne font qu'orienter les demandeurs dans de mauvaises directions.

Par ailleurs, comme on l'a déjà débattu à de nombreuses reprises dans ce forum, je suis tout à fait d'accord avec José et Robert sur le fait que la seule protection applicable pour le commun des utilisateurs que nous sommes, reste la protection par mot de passe du projet VBA, mais que cette protection reste toutefois relative... Cela dit, il faut quand même reconnaître que très peu d'utilisateurs utilisent (ou connaissent même) les méthodes de déplombage de ces dites protections...

Cordialement,
 

papyjac

XLDnaute Nouveau
Re : Vérouillage macro

Oui, j'ai crée un plombeur de macro, de sorte que si tu ouvres le projet, tu tombes sur quelque chose de totalement incompréhensible... mais éxécutable.

Bien sûr, je conserve la macro source pour les développements

Outre l'intérêt de la confidentialité, il y a aussi la taille du code (on divise presque par 3), et donc la performance
 

BOUCHEZ JD

XLDnaute Junior
Re : Vérouillage macro

Bonjour.

Sur l'eternel probleme de la protection des macros, je suis tombé sur ce post de PAPYJAC
" si tu ouvres le projet VBA , tu tombes sur quelque chose de totalement
incompréhensible ... mais éxécutable
."

Quelqu'un a il une idée sur ce type de cryptage ?

Bonne journée
 

JCGL

XLDnaute Barbatruc
Re : Vérouillage macro

Bonjour à tous,

Tu remarqueras que PapyJac n'est plus intervenu suite à son intervention...
Et qu'il n'a jamais donné "sa solution".

Il est vrai que cela existe : les variables sont transformées en une suite de lettres (ou chiffres) qui rendent le code plus difficile à comprendre.

Relire, si besoin, la réponse de mDF et partagée par beaucoup sur XLD et ailleurs :
"reste la protection par mot de passe du projet VBA, mais que cette protection reste toutefois relative..."
A+ à tous
 

BOUCHEZ JD

XLDnaute Junior
Re : Vérouillage macro

Merci à JCGL pour son intervention.

Effectivement, avant de relancer ce post, j'ai recherché les autres interventions de PAPYJACK qui n'est pas réapparu ensuite.

Ce type de processus fait même l'objet de logiciels : VBASafe par exemple
"is an advanced product specifically designed to protect your VBA code.
With VBASafe your VBA code is converted to a format which is unreadable
to the human eye but still interpreted as normal code by Microsoft Excel."
Cout 150 $

Un simple editeur hexadecimal et la modification d'une lettre suffit à faire sauter un mot de passe VBA.
C'est pourquoi je veux aller un peu plus loin en rendant le code illisible donc non modifiable; mais pas indestructible...

J'ai trouvé aussi une autre solution (gratuite) qui transforme un .XLS en .EXE

Je continue mes recherches sur le cryptage car cela m'interesse.

Bon W.E
BJD
 

papyjac

XLDnaute Nouveau
Re : Vérouillage macro

Bonjour.
Sur l'eternel probleme de la protection des macros, je suis tombé sur ce post de PAPYJAC
" si tu ouvres le projet VBA , tu tombes sur quelque chose de totalement
incompréhensible ... mais éxécutable
."
Quelqu'un a il une idée sur ce type de cryptage ?
Bonne journée

Mon cher BOUCHEZ JD, il y a longtemps que je ne suis pas passé par là, car mes occupations ont changé, mais ma technique fonctionne encore.

Il n'y a pas de cryptage au sens où on l'entend habituellement... le code VB doit être exécutable avant tout... Excel doit comprendre ce que tu lui demandes mais un autre développeur ne doit rien comprendre...
D'ailleurs, déjà, sans forcer, c'est souvent le cas malheureusement

Ma méthode est en réalité très simple, il suffit que je dégrade la qualité de mon code d'une manière telle irréversible. Je dois dire que plus la qualité de mon code est bonne et plus il est facile de la dégrader car la moulinette devient très efficace
Voilà les actions effectuées (c'est juste du traitement de texte)
1. Suppression des commentaires
2. Suppression des tabulations
3. Suppression des constantes courtes (nom de variable plus long que la valeur elle même)
4. Renommer toutes les variables => Vnnn
5. Renommer toutes les fonctions et sous-fonctions de la fonction Pnnn
6. Suppression de toutes les données et de toutes les fonctions inutilisées
... voilà avec cela c'est déjà pas mal... mais je vais encore plus loin

Je pense que l'utilisation d'un compilateur est certainement la meilleure solution

papyjac
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 864
Membres
103 979
dernier inscrit
imed