J’ai utilisé "l’éditeur Hex pour modifier DPB en DPx" plusieurs fois dans le passé afin de contourner la sécurité des projets VBA sur mes anciens projets Excel VBA (.xls). Je sais donc vraiment comment faire et savoir que je peux le faire.
Cependant, je viens d'essayer de le faire hier et j'ai constaté que cela ne semble plus fonctionner. J'ai essayé d'utiliser Excel 2011 (Mac) et Excel 2003 (Windows) et, dans les deux cas, j'ai eu le même comportement.
L'ouverture de l'éditeur VBA a donné un message indiquant que le projet est corrompu et que le projet sera supprimé. L'éditeur VBA s'ouvre alors et, bien entendu, tout VBA est supprimé des modules et des feuilles de calcul.
J'ai essayé cette méthode: Y a-t-il un moyen de déchiffrer le mot de passe sur un projet Excel VBA? (c'est-à-dire créer une feuille de calcul avec un mot de passe connu puis copier dans les champs appropriés)
Mais trouvez que la longueur de la clé "GC" créée sur ma feuille de calcul "fictive" est plus courte que la clé "GC" de la feuille de calcul à laquelle je souhaite accéder (la "cible"). J'avais lu ailleurs que, dans les cas où les touches "cibles" étaient plus longues, vous pouviez régler les touches "factices" à la même longueur, mais je ne peux rien trouver pour dire quoi faire dans le cas contraire.
So - mes questions (s);
[~ # ~] modifier [~ # ~] Ayant maintenant résolu ce problème (dans une certaine mesure), je pensais ajouter un résumé ici.
N'AI PAS pu obtenir que cela fonctionne sur Mac Excel 2011. Quelque chose à propos de la modification du fichier de filname.xlsm à fielname.Zip et inversement, résultats dans un fichier Excel corrompu qu'Excel 2011 refuse de reconnaître.
Je DID parviens à ce que cela fonctionne sur un ancien ordinateur Windows (XP/Excel 2007) en modifiant le nom du fichier .xlsm en .Zip, en modifiant les valeurs DPB = AND GC = dans vbaproject Fichier .bin avec un éditeur hexadécimal, puis enregistrez-le dans le fichier .Zip avant de renommer le fichier .Zip en xlsm.J’ai utilisé l’exemple "test" donné par Ricko en bas et cela a fonctionné avec ONE CAVEAT - j’ai dû "patiner" ma valeur GC pour qu’elle ait la même longueur que celle de mon fichier.
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
J'ai votre réponse, car je viens d'avoir le même problème aujourd'hui:
Quelqu'un a créé un code vba fonctionnel qui modifie le mot de passe de la protection vba en "macro" pour tous les fichiers Excel, y compris .xlsm (versions 2007+). Vous pouvez voir comment cela fonctionne en parcourant son code.
Ceci est le blog du gars: http://lbeliarl.blogspot.com/2014/03/Excel-removing-password-from-vba.html Voici le fichier qui fait le travail: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit
Collé d'un post précédent de son blog:
Pour les fichiers Excel 2007/2010 (.xlsm), procédez comme suit:
Recherchez et copiez la valeur du paramètre DPB (valeur entre guillemets), exemple: DPB = "282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A". (Cette valeur est générée pour le mot de passe 'macro'. Vous pouvez utiliser cette valeur DPB pour ignorer les étapes 1 à 8)
Effectuez les étapes 4 à 7 pour les fichiers avec un mot de passe inconnu (fichier que vous souhaitez déverrouiller).
Modifiez la valeur DBP dans ce fichier sur la valeur que vous avez copiée à l'étape 8.
Si la valeur copiée est plus courte que dans un fichier crypté, vous devez renseigner les caractères manquants avec 0 (zéro). Si la valeur est plus longue, ce n'est pas un problème (collez-le tel quel).
Enregistrez le fichier 'vbaProject.bin' et quittez l'éditeur hexadécimal.
Nouvelle version, vous avez également le GC = essayez de remplacer DPB et GC par ceux
DPB = "DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2" GC = "BAB816BBF4BCF4BCF4"
le mot de passe sera "test"
DPB
DPB
par DPx
Vérifiez http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
Si vous traitez avec le fichier .xlsm
Au lieu de .xls
, Vous pouvez utiliser l'ancienne méthode. J'essayais de modifier vbaProject.bin
Dans .xlsm
Plusieurs fois en utilisant la méthode DBP->DBx
, Cela ne fonctionnait pas, mais la valeur de DBP
ne fonctionnait pas. J'ai donc été très surpris de ce qui suit a fonctionné:
1. Enregistrez .xlsm
En tant que .xls
.
2. Utilisez la méthode DBP->DBx
Sur .xls
.
3. Malheureusement, des erreurs peuvent survenir lors de l'utilisation du fichier modifié .xls
. J'ai dû enregistrer .xls
Sous le nom .xlsx
, Ajouter des modules, puis enregistrer sous le format .xlsm
.