2016-03-15 21 views

cevap

6

Ben oletools ile VBA kod kurtarma başarılı olamadı.

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

Ben daha uygun bir bozuk çalışma kitabına işe yaradığı: Ancak oledump bazı başarı elde etti. Eğer bir deneyin isterseniz Yani, oledump.py indir:

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

Ayrıca modül bağımlılık "olefile" yüklemeniz gerekir:

C:\temp>pip install olefile 

Sonraki, 7zip ile çalışma kitabını açın ve "xl \ vbaProject.bin" dosyasını ayıklayın. Ayrıca, oledump vbaProject.bin dosyasını okuyamıyorsa, "xl \ vbaProject.bin \ VBA \" içinde bulunan her bir modülü de çıkarabilirsiniz.

C:\temp>python oledump.py --vbadecompresscorrupt -s 3 C:\temp\vbaProject.bin 
: modül numarası takip -s eklenir

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

Ve bir modülden kodunu görüntülemek için:

Sonra bu komut vbaProject.bin tüm modülleri görüntülemek için yürütmek vbaProject.bin okuma başarısız

ise 7zip hedeflenen modülü ayıklamak ve doğrudan okumaya çalışacak:

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

Şimdi, bu noktada bir VBA çizgisi görmediyseniz, kod muhtemelen büyük ihtimalle kurtarılamaz.

+0

Bu mükemmel çalıştı! @florentbr çok teşekkür ederim! – denfromufa

+0

aslında modüllerden biri çıkarmadı, ancak notepad.exe rastgele karakterler arasında bir kod gösteriyor. – denfromufa

+1

Modül muhtemelen sıkıştırılmış ve kurtarılmış olmak için çok bozuk. Daha fazla bilgi için: http://www.wordarticles.com/Articles/Formats/StreamCompression.php –