4 maneiras de proteger o código VBA (Visual Basic for Applications)

O código VBA que você escreve é o coração e a alma da sua planilha. Proteger o código VBA é algo que deve ser feito para garantir que seu código não seja roubado ou usado sem você saber. Este post cobrirá algumas maneiras diferentes de proteger seu código VBA para que somente VOCÊ possa acessá-lo facilmente.
Por que você deve se preocupar em proteger o código VBA?
VBA é uma linguagem de macro que pode ser usada para criar tarefas ou ações automatizadas no Excel, Word, PowerPoint. Há vários motivos pelos quais você deve proteger seu código VBA:
- Para proteger seu código VBA de ser alterado acidentalmente. O código VBA é uma ferramenta poderosa para usuários do Excel, mas também pode ser uma fonte de frustração para aqueles que não o usam. Se você não proteger o VBA com uma senha, outros que usam sua pasta de trabalho podem acessar o código e fazer alterações nele sem saber o que estão realmente fazendo. Você não quer depurar seu código VBA porque pode ser doloroso — pode levar horas para descobrir o porquê e depois ainda mais tempo!
- Para proteger sua propriedade intelectual. O código VBA pode ser muito valioso para algumas empresas. Se outra pessoa acessar sua planilha e copiar a funcionalidade que você usa, então ela pode potencialmente passá-la como seu próprio trabalho e vendê-la para muitas empresas. Proteja seu valioso código-fonte com medidas de segurança. Não facilite o roubo ou a cópia para qualquer um.
- Para se proteger de pessoas usando seu trabalho. Se você tem um pedaço valioso de código VBA que está tornando seu trabalho mais fácil ou mais eficiente, então você pode querer protegê-lo apenas para uso pessoal.
É importante notar que há várias maneiras diferentes de proteger seu código VBA, mas nem todas protegem seu código da mesma forma. Depende de você e do que você acha que é melhor para suas necessidades.
#1 Proteja o código VBA com senha no Excel usando a ferramenta VBAProject
Esta parte explica como você pode usar as configurações de proteção de projeto do VBA para proteger seu código VBA de olhares curiosos e mãos intrometidas em algum nível.
- Nível de segurança: Fraco; Existem ferramentas como Removedor de senha VBA que pode ser usado para desbloquear a senha em minutos;
- Dificuldade: Fácil;
- Custo: Gratuito;
Passo 1. Selecione “Visual Basic” no menu “Desenvolvedor” no Excel.
Passo 2. Para bloquear seu projeto VBA, clique em “Ferramentas” na barra e selecione “Propriedades do Projeto VBA”.
Após clicar neste item de menu, você deverá ver a seguinte caixa de diálogo:
A aba “Geral” é selecionada por padrão, mas clique na aba “Proteção”.
Etapa 3. Marque “Bloquear projeto para visualização” e digite sua senha duas vezes em ambas as caixas e clique em “OK”.
Passo 4. Salve-o e reabra o arquivo Excel. Você poderá saber se a proteção por senha do VBA foi habilitada corretamente clicando duas vezes no seu projeto VBA. Quando você protege seu projeto VBA com uma senha, isso impedirá que alguém o modifique acidentalmente.
#2 Use a ofuscação VBA para proteger seu código de macro
A ofuscação VBA é a arte de tornar seu código VBA ilegível, mas ainda funcional. Ela modifica suas macros existentes com vários níveis de ofuscação, o que dificulta a compreensão da lógica subjacente. Os ofuscadores VBA avançados usam uma série de técnicas avançadas de ofuscação, tornando o rastreamento reverso e a recuperação consideravelmente mais desafiadores.
- Nível de segurança: Médio; Alguém ainda poderá dedicar tempo e recursos suficientes para recuperar o código;
- Dificuldade: Moderada; Depende do nível;
- Custo: Obfuscator VBA grátis /Prêmio;
Você pode usar a ofuscação VBA em conjunto com a técnica nº 1, que é primeiro obscurecer e então proteger o módulo com uma senha. Tenha em mente que a ofuscação é irreversível, então faça um backup do arquivo de origem antes de prosseguir. Lembre-se também de que o código ofuscado não pode ser garantido para executar sem falhas. Teste-o completamente antes de liberá-lo. Use uma única parte do projeto para ofuscar. Após o primeiro teste de ofuscação do módulo ser bem-sucedido, passe para o segundo.
#3 Converter código VBA em biblioteca de vínculo dinâmico (DLL)
Compiladores como Visual C++ e Visual Basic produzem aplicativos difíceis de quebrar. Isso se deve ao fato de que o código é compilado em arquivos executáveis ou arquivos de biblioteca de vínculo dinâmico. Então, também podemos compilar o código VBA em um arquivo de biblioteca de vínculo dinâmico e então usá-lo no Excel.
- Nível de segurança: Alto;
- Dificuldade: Moderada;
- Custo: Gratuito;
Este método de proteção é altamente recomendado, mas não é 100% garantido. Para aprender a compilar, veja as instruções em VbaCompiler.com: 10 etapas para compilar código VBA em DLL nativa do Windows .
#4 Converter VBA para C ou C++
Traduzir suas macros para C ou C++ é mais difícil de fazer engenharia reversa do que VBA. Se você quer proteger seu código, esta é a melhor maneira.
- Nível de segurança: Alto; É quase impossível obter o código sem os direitos; Mas, novamente, não é 100% garantido;
- Dificuldade: Complicado e demorado; Como VBA e C/C++ são linguagens tão diferentes, é mais difícil, pois você terá que investir muito esforço.
Conclusão
Usar macros é uma ótima maneira de agilizar o desenvolvimento de funções avançadas. Infelizmente, isso coloca seu código em risco de ser roubado ou copiado por outros. O artigo discute métodos que você pode usar para evitar que outros usuários roubem ou adulterem seu código VBA. Observe que as proteções de código VBA não são segurança à prova de balas, mas fornecem alguma proteção contra invasores casuais.