Cryptage macro

Signaler
Messages postés
2
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
4 juin 2013
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour le Forum,

Voila mon problème :

J'ai réalisé grâce à la consultation de site et forum 2 applications (Gestion de Stock & Maintenance Matériel) dont je souhaiterais protèger le code VBA, coeur des applications.

A l'heure actuelle je protèges par mot de passe sur le projet et transformation en .exe du fichier ; toutefois, pour un utilisateur avertis et selon la version d'excel, on peut accéder au code tout du moins par la protection mot de passe.

Ayant lu que l'on pouvait protéger des textes par le code vigenere, j aimerais échanger avec une personne ayant déjà fait cela ; je suppose que l'on codifie le nom des variables et non pas le code. Savoir si cela est vraiment efficace et si il existe un moyen de contourner cette protection sachant que cela brouilles la compréhension du code aux lecteurs indélicats.

J'espères être clair dans ma demande.

D'avance merci

4 réponses

Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Si tu veux vraiment protéger ton code (ce qui est impossible dans l'absolu), le mieux est de changer de langage et d'éviter VBA.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
Une chose est dans mon esprit TRES claire : le seul code à protéger que je connaisse personnellement, est celui du logiciel lui-même (celui de Microsoft, donc) !
Pour tout le reste : ce sera un véritable jeu d'enfant, pour tout développeur un peu (très peu) averti, que de refaire (voire faire en mieux) une application VBA qu'il verra "tourner" et dont il connaîtra donc les tenants et les aboutissants. Et pour cela (la seule vraie chose importante) : aucune protection n'existe.
Voilà voilà


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
59
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
4 juillet 2013

Bonjour à tous,

Le codage de Vigenere ne sert à rien s'il est appliqué sur les noms de variables, car lors de l'exécution une variable sera vue comme un identifiant (de type long).
Il pourrait s'avérer utile par contre de chiffrer le contenu des constantes.
Mais avec un telle méthode, cassable par force brute, cela risque de ne pas résister longtemps.
Encore faudrait-il que le stock soit du plutonium et la maintenance concerne des réacteurs et surgénérateurs,

Je ne comprends pas l’intérêt de vouloir à tout prix protéger du code VBA.
Le VBA est interprété par une DLL indépendante, donc la totalité de l'exécution passe par cette DLL.
La technique d'interception est simple, il suffit de créer une DLL avec des fonctions exportées à l'identique pour reconstituer le code en faisant du ligne par ligne au besoin.

Effectivement, coder en C++ permet de faire un chargeur codé à partir d'une clé et nécessiterait des efforts démesurés pour reconstituer le code source.

Cordialement
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Salut

"(...) et transformation en .exe du fichier"
Comment fais-tu ça ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)