web-dev-qa-db-fra.com

Lire les macros VBA (ou vbaProject.bin) d'un fichier Excel sans l'ouvrir dans MS Excel

Je voudrais analyser les fichiers Excel, en particulier ceux qui contiennent des programmes VBA à l'intérieur. parce que je prévois d'exécuter cette analyse sur un grand nombre de fichiers Excel un par un, je ne veux pas ouvrir ces fichiers dans Microsoft Excel pour les analyser.

Une difficulté est de trouver et d'analyser les macros VBA d'un fichier Excel. Nous savons qu'un fichier Excel peut être converti en .Zip fichier contenant beaucoup de .xml et vbaProject.bin, il est à peu près certain que les macros VBA sont dans vbaProject.bin. Cependant, le problème est de savoir comment le lire?

Est-ce que quelqu'un sait s'il existe un outil ou une API pour rechercher et analyser les macros VBA?

Est-ce que quelqu'un sait s'il existe un outil ou une API pour lire vbaProject.bin?

29
SoftTimur

Il existe un très grand PDF de Microsoft qui explique comment extraire des fonctions du vbaproject.bin:

https://interoperability.blob.core.windows.net/files/MS-OVBA/%5bMS-OVBA%5d.pdf [ Source ]

Cette ressource est à jour et disponible depuis le 27 juin 2019. Si ce lien devient obsolète (Microsoft modifie périodiquement sa structure de permalien ou modifie autrement la façon dont il implémente ses référentiels de documentation/réponse, etc.), recherchez MS-OVBA.pdf.

Quelques informations supplémentaires qui peuvent être complémentaires ou non de ce qui précède:

http://www.codeproject.com/Articles/15216/Office-2007-bin-file-format

27
David Zemens

Voici n article mis à jour en 2017 qui répertorie plusieurs outils pour vous aider. J'ai pu extraire le code VBA d'un vbaProject.bin en utilisant outil OfficeMalScanner répertorié ici.

0
pettys