Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Apagar codigo se senha for quebrada

Dúvidas gerais sobre Excel
Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Apagar codigo se senha for quebrada

Mensagem por Guima »

Boa Tarde Feras !!! ;)

Vi ha um tempo atras no forum da info um comentario de que um projeto teria suas linhas de codigos apagadas ao quebrar a senha. Gostaria de saber como criar tal rotina, para que se a senha do projeto for quebrada o codigo seja apagado.

Abracao pra todos !!!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Apagar codigo se senha for quebrada

Mensagem por webmaster »

Guima,

Não conheço a solução. Mas, creio que deve ser a união destes dois códigos:

http://www.ozgrid.com/VBA/delete-module.htm
http://www.mrexcel.com/forum/showthread.php?t=18539

Um faz a exclusão de um módulo VBA programaticamente. O outro verifica se o projeto VBA está protegido. Avaliando este conjunto, creio que é possível ter um excelente nível de proteção para suas macros. Claro, se o usuário nunca ativar as macros, não há o que fazer.

Um grande abraço


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Apagar codigo se senha for quebrada

Mensagem por Guima »

Blz Tomas, vou tentar e depois posto a resposta. Desculpe pela demora em responder, mas essa semana tá puxado demais pra mim....

Abraço


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Apagar codigo se senha for quebrada

Mensagem por Guima »

Boa noite Tomas,

Vc chegou a testar a funcionalidade desse exemplo ?
http://www.mrexcel.com/forum/showthread.php?t=18539

Eu tentei e não funcionou. Coloquei no evento Workbook_Open, habilitei a referência "Microsoft Extensibilty Library", e ainda coloquei uma msgbox no código pra que se funcionasse aparece a mensagem, mas nada aconteceu...

Se vc conseguiu, gostaria de me informar onde poderia estar errando.

Abraço


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Apagar codigo se senha for quebrada

Mensagem por webmaster »

Guima,

Na tela de segurança de macros, é preciso habilitar a opção: Confiar no acesso ao modelo de objeto do projeto VBA.

Deve funcionar.

Abraços


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Apagar codigo se senha for quebrada

Mensagem por Guima »

:? Olá Tomas.... fiquei meio sem entender agora....

Naquele link não vi nenhum modelo pra fazer download.

Mas vi esse comentário....
Na tela de segurança de macros, é preciso habilitar a opção: Confiar no acesso ao modelo de objeto do projeto VBA.
... ai fiquei sem entender mesmo...

[]'s


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Apagar codigo se senha for quebrada

Mensagem por Mauro Coutinho »

Guima, no site não tem nenhum modelo, somente uma rotina, você teria de criar uma planilha e adaptar o código. (Veja modelos anexos)

1 ) Quanto a duvida :
Na tela de segurança de macros, é preciso habilitar a opção: Confiar no acesso ao modelo de objeto do projeto VBA.
Eu já tive um problema desse com uma rotina que deleta um Modulo em determinada planilha, (na época tirei desse mesmo site que o Tomaz postou acima), então se em outro PC no Excel essa opção não estivesse Habilitada, exibia a mensagem erro, e colocava todo o projeto por agua abaixo, então pesquisando na Net eu consegui contornar esse impasse com uma outra rotina que verifica essa opção, e é exatamente o que faz o exemplo abaixo, ao abrir a Planilha se a opção estiver habilitada será emitida uma mensagem de OK, se não, será exibido um passo a passo de como fazer, eu reduzi o exemplo só para colocar aqui no site ou seja é só com emissão da mensagem, na minha planilha que eu uso essa rotina eu adicionei para que a mesma seja fechada e só ficará aberta se a opção for habilitada.

2 ) Quanto a essa Duvida :
Vc chegou a testar a funcionalidade desse exemplo ?
http://www.mrexcel.com/forum/showthread.php?t=18539
Eu testei, e até que funciona (com ressalvas, veja abaixo), mas teria de adapta-la com a rotina de deletar os Modulos do site ozgrid que o Tomas postou.
Ressalvas : Pela sua intensão de apagar se a Senha for quebrada, na rotina de exemplo encontrei a seguinte falha, teria de ser estudado melhor, procurar mais referencias sobre esse assunto, no meu teste, eu usei o programa Advanced Office Password Recovery da Elcomsoft e ele tem as seguintes opções "Change VBA Password" ou "Delete VBA Password", então se eu alterar a senha a Rotina não vai ter efeito, e se usar a opção para Deletar a senha, a mesma é deletada, mas a opção Proteger Projeto no Modulo da planilha continua Habilitada, ou seja a senha foi quebrada mas com o uso desse programa a mesma ficou com senha em BRANCO, e na rotina é entendido como se a mesma ainda estivesse protegida.

Dessa forma, assim que eu tiver um pouco mais de tempo, (ou se mais alguem se interessar pelo assunto), seria ter em uma celula a Senha do VBA e no evento WorkBook Open uma rotina que verificasse se a senha do VBA foi alterada.

Abaixo as duas planilhas exemplo :
Para testar a SegurançaMacro, desabilite a opção no EXcel e depois Habilite novamente.

Editado: As rotinas foram feitas e testadas no EXcel 2003, não sei sua funcionalidade em outras versões.

Abraços
Anexos
SegurançaMacro.rar
Verifica Opção Macros/Segurança/Projeto - 2 Desprotegida
(57.37 KiB) Baixado 473 vezes
verificaPSWVBA.rar
Verificar Senha VBA
(11.03 KiB) Baixado 466 vezes
Editado pela última vez por Mauro Coutinho em Seg Mai 31, 2010 8:16 pm, em um total de 1 vez.


Guima
Consultor
Consultor
Mensagens: 242
Registrado em: Sex Out 30, 2009 6:10 am

Re: Apagar codigo se senha for quebrada

Mensagem por Guima »

Boa noite Mauro,

O exemplo "verifica" ta dando erro tempo de execução, tem alguma biblioteca pra habilitar ? Já o segundo ta bloqueado o projeto. Pelo pouco que consegui verificar, o exemplo "verifica" tem muito mais a ver com o que pretendo, mas suas ressalvas me deixaram preocupado...

[]'s


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Apagar codigo se senha for quebrada

Mensagem por Mauro Coutinho »

Guima, nas duas planilhas tem de se Habilitar no editor do VBA a Referencia :
"Microsoft Visual Basic for Applications Extensibility 5.3"
'// Needs reference to the Microsoft Extensibilty Library

Quanto ao erro de execução não sei se tem algo a ver com a referencia, eu fiz um teste desabilitando a mesma e me da uma mensagem de "erro de compilação no módulo oculto:mdTeste" diferente da sua mensagem, então verifica se na janela de referências tem alguma com indicação de AUSENTE.

A outra planilha referente a Segurança da macro, como eu estava fazendo testes esqueci de desbloquear, e como esqueci qual era a senha postei a mesma novamente desprotegida.

e quanto a :
mas suas ressalvas me deixaram preocupado.

lembre-se sempre que estamos falando de aplicativo Excel, Word ou outro qualquer em que se é facilmente quebrado essas senhas, imagina se programas mais elaborados tipo Sistema Opercional e outros os hackers quebram as senhas ou dão um jeito de liberar, imagina uma planilha, em vista disso é quase impossível se querer uma proteção 100%.

abraços


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Apagar codigo se senha for quebrada

Mensagem por webmaster »

Senhores,

Como já comentei outras vezes, reforço que para sistemas "seguros" no Office, invistam o tempo no VSTO (ou voltem a criar componentes COM no VB6). De outra forma, não se preocupem tanto com a proteção ou busquem outras formas de comercialização.

No meu caso, deixo o código de livre acesso para o cliente, mas não me responsabilizo por uma vírgula que tenha sido mudada.

Enfim, são outras formas de trabalhar.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder