Les projets VBA dans les fichiers `.xlsm` ne sont pas chiffrés, seulement protégés par un flag dans le fichier `vbaProject.bin`. > [!info] À savoir ! <span style="font-weight: normal; color: var(--text-normal)">La protection VBA d'un fichier Excel est une obfuscation légère.</span> Le bypass du mot de passe consiste à modifier ce flag. Cette technique est valable sur la majorité des fichiers Office legacy et elle est très utilisée en CTF / pentest. > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Cette documentation est destinée exclusivement à un usage pédagogique et à des activités légitimes de cybersécurité (tests autorisés, CTF, recherche). Aucune responsabilité ne pourra être engagée quant à une utilisation abusive ou non conforme à la loi de ces informations.</span> L’utilisation de ces techniques sur des systèmes sans autorisation explicite est strictement interdite. Vous êtes seul responsable du respect des lois et des réglementations applicables. ### Prérequis - Télécharger le logiciel HxD ([version portable](https://mh-nexus.de/en/downloads.php?product=HxD20)) - Disposer d'un fichier `.xlsm` protégé par un mot de passe. ### Procédure Renommer le fichier `.xlsm` en changeant son extension en `.zip` puis extraire le projet VBA - Ouvrir l’archive `.zip` - Naviguer vers `xl/vbaProject.bin` - Extraire `vbaProject.bin` Modifier avec HxD - Ouvrir `vbaProject.bin` dans HxD - Rechercher (`Ctrl + F`, mode texte) : `DPB=` - Remplacer `DPB=` par `DPx=` > [!danger] Attention ! <span style="font-weight: normal; color: var(--text-normal)">Ne pas changer la longueur, ne pas supprimer de bytes et appliquer à toutes les occurences si il en existe plusieurs.</span> Pour finir : - Remplacer le fichier `vbaProject.bin` dans l’archive. - Renommer le `.zip` en `.xlsm`. - Ouvrir avec Excel, et ignorer les avertissements. - Presser `Alt + F11` > [!done] Félicitations ! <span style="font-weight: normal; color: var(--text-normal)">Vous avez accès au projet VBA sans mot de passe !</span>