Dostałem dwa różne dokumenty Microsoft Word, które mój skaner antywirusowy ostrzegł mnie, zawiera makra. Powinny to być proste pliki tekstowe, a osoba, która je wysłała, nawet nie wie, czym jest makro; mogą być z jego strony błędem, ale mogą być oznaką złośliwej infekcji. Moja instalacja OpenOffice.org jest ustawiona, aby nie ładować makr, ponieważ rzadko ich używam, więc nie martwię się bezpieczeństwem mojego systemu. To, co chciałbym móc zrobić, to dowiedzieć się, co te makra robią, bez narażania mojego systemu na złośliwe intencje tych makr, aby powiedzieć osobie, która przysłała mi dokumenty, czy rozprzestrzenia infekcję.Jak mogę się dowiedzieć, co robi makro bez narażania się na nie?
Odpowiedz
Po prostu otwórz dokument bez aktywacji makr, a następnie otwórz edytor kodu, aby zobaczyć, co robi.
Dwie możliwości. Zdobądź darmową kopię odtwarzacza VMWare i zainstaluj w nim Windows i MS Office. Następnie załaduj dokument i uruchom makra.
Inna możliwość. Myślę, że możesz załadować dokument do MS Worda i automatycznie wyłączyć makra, ale makro wciąż tam jest, więc możesz je zobaczyć za pomocą samego Worda.
Uwaga: Nieobecność w biurze 97 – david
Właśnie przeprowadziłem test. Otworzyłem Word (2007) oraz:
- Utworzono prostego makra i zapisywane w dokumencie jako „makro włączony dokumentu Word (.docm)”
- wszedł do ustawień zabezpieczeń (Urząd przycisk „Plik” \ Word Options \ Centrum zaufania \ Ustawienia Centrum zaufania \ Ustawienia makr) i kliknęło pole wyboru "Wyłącz wszystkie makra z powiadomieniem", które zapobiegają uruchomieniu makr, chyba że klikniesz przycisk, aby zezwolić na ich uruchomienie.
- Otworzył dokument * .docm i makro nie działało, ale udało mi się przejść do zakładki "Widok" w kontrolce wstążki i kliknąć przycisk Makra i wyświetlić makra, a następnie edytować makro, aby otworzyć VBA IDE, aby zobaczyć kod makra.
Wszystko to zakłada, że korzystasz z programu Word 2007, chociaż spodziewałbym się tej samej możliwości w ostatniej wersji programu Word. Nie mam otwartego pakietu Office w tym polu, ale spodziewam się, że będzie miał tę samą funkcjonalność.
Powodzenia!
(myślałem, ktoś powinien odpowiedzieć na oryginalne pytanie o użyciu OpenOffice z makro wykonanie wyłączone globalnie; mówiąc „otworzyć edytor kodu” jest poprawna, ale naprawdę potrzebuje nieco więcej ręka trzyma dla początkujących, to na pewno wziął mi epok, żeby go znaleźć po raz pierwszy).
w każdym razie, według http://www.tutorialsforopenoffice.org/tutorial/Macros.html można przeglądać (lub edytować) makra przechodząc Tools
→ Macros
→ Organize Macros
→ OpenOffice.org Basic
, co spowoduje wyświetlenie okna OpenOffice.org Basic Macros
.
Stamtąd wystarczy kliknąć wokół drzewa, aby znaleźć wszystkie makra zawarte w pliku, a następnie Edit
, aby zobaczyć, co jest w każdym z nich.
Wystarczy wyłożyć na szczycie tych poprzednich postów -
Oto proces Śledziłem -
- Otwórz plik
- Włącz Edycja wyjść z chronionego widzenia
- AltF11 aby otworzyć edytor Visual Basic
- Czasami można zobaczyć makra tutaj, w moim Word 2013 nie mogłem.
- Zminimalizuj lub zamknij okno edytora VB. Ponownie otworzymy minutę:
- Przytrzymaj Shift, a następnie kliknij
Enable Content
. Uniemożliwi to uruchamianie makr AutoOpen. - AltF11, aby otworzyć edytor Visual Basic.
- Możesz teraz zobaczyć makra, których wcześniej nie widziałeś.
Najbezpieczniejszy sposób, aby zobaczyć treść makra bez ich prowadzenia jest, aby otworzyć Edytor Visual Basic od ciebie dokumentów biurowych, które będą zawierały treści makr.
Aby otworzyć Edytor Visual Basic (Office 2010, prawdopodobnie 2013 i 2016):
- Otwórz dokument
- Można włączyć edycję zapytany, nie makro zostanie wykonane
- Kliknij prawym przyciskiem myszy na Wstążce (menu) - Wybierz: Dostosuj Wstążkę
- W prawej sekcji wybierz "Programista", doda kartę "Deweloper" na Wstążce. Wciśnij OK.
- Przejdź do zakładki "Programista" i kliknij "Edytor Visual Basic".
Teraz widać wszystkie makra.
Nadzieję, że pomogło ci to działało na moim wersji programu Excel 2010.
. ??? x jest tylko w formacie zip.
rozpakować plik i skończyć z czymś takim:
.
├── [Content_Types].xml
├── docProps
│ ├── app.xml
│ ├── core.xml
│ └── custom.xml
├── _rels
└── word
├── document.xml
├── fontTable.xml
├── _rels
│ ├── document.xml.rels
│ └── vbaProject.bin.rels
├── settings.xml
├── styles.xml
├── theme
│ └── theme1.xml
├── vbaData.xml
├── vbaProject.bin
└── webSettings.xml
teraz u można analizować vbastuff z TextEditor lub innym edytorze VBA swojego wyboru.
Jeśli chcesz zobaczyć makra haseł bez otwierania dokumentu programu Word w celu wyświetlenia tych makr można użyć skryptu o nazwie oledump.py przez Dider Stevens.
Gdy masz skrypt, można to zrobić:
python oledump.py "your_word.doc" -s a -v
ta powinna zwrócić listę wszystkich makr w dokumencie tekstowym.
- 1. Jak dowiedzieć się, co robi Eclipse w tle?
- 2. Jak dowiedzieć się, co dokładnie robi wiosenne autowire?
- 3. Jak mogę się dowiedzieć, na co wskazuje moje łącze symboliczne?
- 4. Jak dowiedzieć się, co UITextField spowodowało UIKeyboardWillShowNotification?
- 5. Jak mogę się dowiedzieć, ile plików znajduje się w katalogu?
- 6. Jak mogę się dowiedzieć, dlaczego cURL zwisa i nie odpowiada?
- 7. Jak mogę się dowiedzieć, kto nazwał SendMessage?
- 8. Jak mogę się dowiedzieć, gdzie utworzono obiekt?
- 9. w vim, Jak dowiedzieć się, co kombinacja klawiszy działa
- 10. dowiedzieć się, co widok EJB użyto
- 11. Gdzie mogę się dowiedzieć o systemach rekomendacji?
- 12. Gdzie mogę dowiedzieć się więcej o WebCoreSharedBufferData?
- 13. Nie mogę się dowiedzieć, jak użyć składnika miniatur Bootstrap
- 14. Co robi makro Q_D w Qt
- 15. jak się dowiedzieć, kiedy kończy się ładowanie listview na Androidzie
- 16. Jak się dowiedzieć, na jakim widoku zakończyło się wydarzenie dotykowe?
- 17. Gdzie mogę się dowiedzieć o MEF?
- 18. Jak dowiedzieć się, co zachowuje obiekt w Instrumentach?
- 19. Jak mogę się dowiedzieć, dlaczego mongodb ulega awarii?
- 20. NodeJS - MongooseJS błędach schemat, że nie mogę dowiedzieć się,
- 21. Jak mogę dowiedzieć się więcej o tym, dlaczego moja kolejka Laravel w kolejce nie powiodła się?
- 22. co robi multiemisja na 224.0.0.251?
- 23. Jak mogę dowiedzieć się, jak została wywołana kompilacja w Jenkins
- 24. Dlaczego Django fcgi po prostu umrzeć? Jak mogę się dowiedzieć?
- 25. Chcesz dowiedzieć się więcej na temat NTILE()
- 26. Gdzie mogę się dowiedzieć, jak budować AST dla makr Scala?
- 27. Jak mogę się dowiedzieć, który widok jest aktualnie skupiony?
- 28. Jak dowiedzieć się, co spowodowało błąd runtime w Erlangu?
- 29. Jak mogę się dowiedzieć, która procedura spowodowała wyjątek w Delphi?
- 30. C++ Przykład: Nie jesteś w stanie zrozumieć, co się robi?
Trzy zapewnienia z SO, że wykonanie tego jest bezpieczne. O ile bezpieczniej możesz dostać? – Dustman
dużo. Jeśli w innej części programu Word nastąpiło przepełnienie bufora, nadal możesz zostać naruszony. – PsychoData
Wywołanie tego niebezpiecznego byłoby niedopowiedzeniem. – jrtapsell