Ocasionalmente, estou recebendo um arquivo xls que contém uma macro que devo usar. Se não tenho total confiança no remetente, desejo examinar a fonte da macro para verificar se ela realmente faz apenas o que deve.
No entanto, no Excel 2010, o botão "editar" em "exibir macros" fica desabilitado, a menos que eu ative as macros para a planilha - mas se eu habilitar as macros, posso, no máximo, descobrir códigos maliciosos somente após a conclusão do código. corrida...
Como posso visualizar a fonte da macro antes de ativar as macros para o documento?
Alt
+F11
pode fazer com que o! SECURITY WARNING ... Enable Content
banner " " desapareça, o que implica que a execução do código agora está ativada. Isso é enganador. Você pode demonstrar isso criando um documento com umon_open()
módulo. Você será capaz deAlt
+F11
e inspecionar o código sem disparar o evento.Embora as respostas do Mokubai e do hBy2Py pareçam ótimas e de fato permitam exibir o Editor VBA, parece que pelo menos no Excel do Microsoft Office Professional Plus 2016 ainda não permite exibir o código.
Por acaso, possuo essa versão e tinha certeza de que recebi um XLS malicioso e queria inspecioná-lo. Depois de abri-lo no Excel, ele foi aberto no modo de segurança, como de costume, e é claro que eu não tinha a intenção de descartar esse modo. Quando abri o Editor do VBA, como outros entrevistados indicaram, fui apresentado com ... Editor do VBA vazio . O painel "Explorador de projetos" exibiu "Sem projetos abertos", apesar de eu ainda não ter fechado o arquivo XLS. Apenas para fins de teste, abri o segundo documento (um dos meus trabalhos) e ele apareceu imediatamente no Editor do VBA e era (adequadamente) totalmente desprovido de qualquer VBA. No entanto, o documento da Internet não foi listado no Editor do VBA .
Eu perdi algum tempo tentando descobrir por que é isso e não encontrei nenhuma razão. Parece que minha edição do Excel simplesmente não envia módulos VBA para o Editor VBA quando o documento é carregado no modo de segurança. Infelizmente, o VBA Editor não possui o recurso "VBA aberto do Office Document", portanto fica claro que o Excel é o cérebro aqui e ele precisa descompactar / decodificar / qualquer que seja o XLS primeiro.
A solução acabou sendo bastante simples.
Ribbon
->Developer
->MacroSecurity
File
->Options
->SecurityCenter
(último grupo de opções) ->Settings
->Macros
)Efeitos:
Caso você esteja curioso: sim, era realmente malicioso, pequeno exemplo:
Entre. como você pode ver, comentei imediatamente o ponto de entrada e salvei novamente o documento, caso eu permita que as macros sejam executadas em algum momento posterior.
fonte