Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[VB6] - Capturando senhas ocultas


julala
 Compartilhar

Posts Recomendados

[VB6] - Capturando senhas ocultas

 

O que eu vou mostrar neste artigo não é novidade , pois o recurso usado é conhecido há tempos dos programadores VB.

 

Como existem muitos que estão começando agora creio que vale a pena mostrar o uso dos recursos das mensagens e funções das API's do Windows.

 

Neste artigo eu mostro como usar a API SendMessage com as mensagens EM_GETPASSWORDCHAR, WM_GETTEXTLENGTH e WM_GETTEXT para obter o valor da senha digitada em uma janela Windows.

 

Vejamos cada uma destas APIs usadas neste artigo:

É necessário se cadastrar para acessar o conteúdo.

 

Vamos começar apresentando a API SendMessage que envia uma mensagem chamando a função do Windows para a janela indicada. O controle não retorna ao programa que a chamou enquanto sua execução não estiver finalizada. Sua declaração é a seguinte:

 

É necessário se cadastrar para acessar o conteúdo.

 

Esta mensagem identifica o caractere de senha definido usado no controle. Os caracteres substituem cada caractere digitado no controle com o objetivo de esconder a senha informada.

 

Definição de constante :

 

É necessário se cadastrar para acessar o conteúdo.

 

A mensagem WM_GETTEXTLENGTH quando enviada para uma janela descobre o número de caracteres do texto da janela. Não é contado o caractere de fim de linha null.

 

Quando usamos SendMessage para enviar a mensagem WM_GETTEXTLENGTH os parâmetros usados wParam and lParam devem ser definido usando a expressão ByVal CLng(0).

 

Definição de constante :

 

É necessário se cadastrar para acessar o conteúdo.

 

Quando enviamos a mensagem

É necessário se cadastrar para acessar o conteúdo.

para uma janela ela retorna o texto da janela. O texto é copiado para buffer de texto fornecido nos parâmetros da mensagem.

 

Quando usamos SendMessage par enviar uma mensagem WM_GETTEXT , a palavra chave ByVal deve ser usada em frente dos dois parâmetros wParam and lParam.

 

Definição de constante :

 

É necessário se cadastrar para acessar o conteúdo.

 

Criando o projeto no Visual Basic

 

Agora vamos mostrar como usar a API e as mensagens para obter a senha digitada em uma caixa de texto de um formulário Windows.

 

Abra o Visual Basic 6 e crie um novo projeto do tipo Standard EXE com nome pegaSenha

 

No menu Project selecione a opção Add Module e aceite o nome padrão. A seguir inclua as declarações para a API SendMessage, e mensagens WM_GETTEXTLENGTH e WM_GETTEXT;

 

É necessário se cadastrar para acessar o conteúdo.

 

Agora no formulário padrão form1.frm inclua duas Labels , duas caixas de texto e um botão de comando conforme leiaute abaixo:

 

É necessário se cadastrar para acessar o conteúdo.

 

vboso1.gif

___

Agora no evento Click do botão de comando - Exibir Senha Digitada - inclua o seguinte código:

 

É necessário se cadastrar para acessar o conteúdo.

Execute o projeto, digite uma senha na caixa de texto e clique no botão Exibir Senha digitada o resultado será a senha sendo exposta na caixa de texto conforme figura abaixo:

 

vboso2.gif

___

 

Embora a aplicação que eu tenha usado como exemplo obtenha o texto diretamente do controle TextBox você pode usar a API GetCursorPos para obter a posição do cursor na tela e em conjunto com as APIs acima criar uma rotina genérica para obter a senha oculta.

 

A declaração da API GetCursorPos pode ser feita da seguinte forma em um módulo:

 

É necessário se cadastrar para acessar o conteúdo.

 

Como você notou a segurança pode ser apenas aparente, se um programa feito em VB com poucas linhas de código pode revelar a senha digitada imagine o que um keylogger varrendo o seu sistema não pode fazer...

 

Meu objetivo neste artigo foi mostrar que você tem que olhar com mais atenção para o quesito segurança em suas aplicações e não incentivá-lo a descobrir senhas ocultas. Lembrando que o VB é uma ferramenta poderosa quando usada com bom senso e inteligência.

 

Pegue o projeto aqui:

É necessário se cadastrar para acessar o conteúdo.

 

:DObservem que para quem não entendeu corretamente a um link de download no final do topico que você podera fazer o download e abrir o projeto em seu VB para você observar :D

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...
  • 1 mês depois...

Vou testar meo :D

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

Metas no Web cheats:

 

[X] 5 posts

[X] 10 posts

[]100 posts

[] 500 posts

[]750 posts

[] 1000 posts

membroadv.png

 

 

sasuke-ultimate-strands.jpg

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.