2016-03-15 16 views

Antwort

6

ich nie gelungen, den VBA-Code mit oletools bei der Wiederherstellung. Allerdings hatte ich einen gewissen Erfolg mit oledump:

http://blog.didierstevens.com/programs/oledump-py/

Ich fand es besser geeignet, mit einer beschädigten Arbeitsmappe zu arbeiten. Also, wenn Sie es ausprobieren möchten, laden oledump.py:

https://github.com/DidierStevens/DidierStevensSuite/raw/master/oledump.py

Sie müssen auch das Modul Abhängigkeit "olefile" installieren:

C:\temp>pip install olefile 

Als nächstes öffnen Sie Ihre Arbeitsmappe mit 7zip und extrahiere die "xl \ vbaProject.bin". Sie können auch jedes in "xl \ vbaProject.bin \ VBA \" vorhandene Modul extrahieren, wenn oledump vbaProject.bin nicht lesen kann.

Dann führen Sie diesen Befehl, alle Module in der vbaProject.bin anzuzeigen:

C:\temp>python oledump.py --vbadecompresscorrupt C:\temp\vbaProject.bin 

Und aus einem Modul den Code anzuzeigen, fügt es durch die Modulnummer gefolgt:

C:\temp>python oledump.py --vbadecompresscorrupt -s 3 C:\temp\vbaProject.bin 

Wenn die vbaProject.bin lesen fehlgeschlagen ist, extrahieren die gezielte Modul mit 7-Zip und versuchen, es zu lesen direkt:

C:\temp>python oledump.py -r -v --vbadecompresscorrupt C:\temp\Module1 
C:\temp>python oledump.py -r -v --vbadecompresscorrupt C:\temp\ThisWorkbook 

Wenn Sie zu diesem Zeitpunkt noch keine VBA-Zeile gesehen haben, ist der Code höchstwahrscheinlich nicht wiederherstellbar.

+0

Das hat perfekt funktioniert! @florentbr vielen Dank! – denfromufa

+0

tatsächlich eines der Module nicht extrahiert, obwohl notepad.exe zeigt einige Code zwischen zufälligen Zeichen. – denfromufa

+1

Das Modul ist wahrscheinlich zu korrupt, um dekomprimiert und wiederhergestellt werden zu können. Für weitere Informationen: http://www.wordarticles.com/Articles/Formats/StreamCompression.php –