Keylogger

21/09/2004

0

Estou montado um keylogger, mas algumas funções necessárias ainda não consegui desenvolver...

1) Como oculto completamente a aplicação? (sem inclusive aquela ´piscada´ na barra de tarefas)

2) Como retorno o nome da aplicação ou da janela que está sendo logada? Para filtrar determinados programas.

3) Como envio, de forma simples, o arquivo gerado por e-mail?

Pessoal, sei que já existem várias questões sobre esse assunto, mas todas ela bem picadas ou incompletas...

Preciso monitorar determinados usuários do meu sistema...
Agradeço quem puder ajudar!


Wander Waldemorte

Wander Waldemorte

Responder

Posts

21/09/2004

Nildo

Levando em consideração que é APENAS para monitorar os usuários do sistema, para uso LEGAL, e seus usuários estando cientes diante esta situação. Mas você disse:

Preciso monitorar determinados usuários do meu sistema...


Se você precisa monitorar determinados usuários do SEU sistema, para que a necessidade em saber de qual aplicação veio a tecla pressionada?

[quote:2761977626=´Walter Neves Moll Neto´]
1) Como oculto completamente a aplicação? (sem inclusive aquela ´piscada´ na barra de tarefas)
[/quote:2761977626]
Antes das criações dos forms no seu DPR, você utiliza o comando:

Application.ShowMainForm := False;


Isso evita que seu form seja mostrado ou aquela piscada na barra de tarefas. Quanto à não aparecer no CTRL+ALT+DEL você tem que registrar sua aplicação como sendo um serviço do Windows, mas isso se for no Windows 98. De uma pesquisada no Google que você acha coisas interessantes.

[quote:2761977626=´Walter Neves Moll Neto´]
2) Como retorno o nome da aplicação ou da janela que está sendo logada? Para filtrar determinados programas.
[/quote:2761977626]

Se sua DLL for injetada em todos os processos, você pode enviar ao seu formulário, alem da tecla pressionada, o resultado da API GetCurrentProcessId. Mas se você estiver hookando as mensagens de Tecla Pressionada, creio eu que não seja possível. Mas você pode burlar isso pegando o Handle do Form que está em foco usando a API GetForegroundWindow. Já que se o cara pressionou uma tecla, quem recebe essa mensagem e vai processá-la é o formulário/aplicação que estiver no topo, no caso a API getForegroundWindow retorna o handle da janela que está no topo.

[quote:2761977626=´Walter Neves Moll Neto´]
3) Como envio, de forma simples, o arquivo gerado por e-mail?
[/quote:2761977626]

Pesquise aqui no fórum, esse assunto já foi abortado muitas vezes.
Ps.: Eu respondí sua mensagem levando em consideração que o uso deste aplicativo não é para uso maléfico, e sim para propósito educacional. Caso contrário, favor desconsiderar minha mensagem.

Um abraço


Responder

21/09/2004

Wander Waldemorte

Ow, cara! Valew memso pela ajudar, mas... Vc tem como me explicar melhor o esquema do handle?

Muito obrigado!


Responder

21/09/2004

Nildo

Handle é uma identificação de um objeto. Cada objeto possui um handle diferente. O Handle de um formulário seu nunca vai ser igual a nenhum outro handle de outro formulário em todo o Sistema Operacional.
Esse handle é atribuido em tempo de execução, automaticamente pelo seu sistema operacional, e não pode ser alterado.
Você pode pegar o título da janela ativa com a seguinte função que eu fiz:

function Titulo_Janela_Ativa: PChar;
var
   Titulo: PChar;
   Tamanho: Integer;
   janela: THandle;
begin
   janela := GetForegroundWindow;
   Tamanho := GetWindowTextLength( Janela ) + 1;
   Titulo := PChar( AllocMem( Tamanho ) );
   GetWindowText( Janela, Titulo, Tamanho );

   Result := Titulo;
end;



Responder

21/09/2004

Wander Waldemorte

Cara, muito obrigado!!! Sua ajuda foi muito útil pra mim!

Consegui fazer uma boa parte do que eu precisava, agora é só enfeitar, hehehe!

Qualquer coisa, posso contar com a sua juda de novo?

Brigadão! :P


Responder

21/09/2004

Nildo

Pode sim Walter. :wink:


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar