Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Dica] Bloqueando o teclado e o mouse

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Delphi [Dica] Bloqueando o teclado e o mouse

    Olá pessoal =)

    Vou mostrar a vocês como bloquear o mouse e o teclado pelo Delphi.

    Já vou deixar avisado que, caso você vá testar no seu PC, lembre-se de chamar a função para desbloquear logo após a função de bloquear. Senão você vai ficar sem mouse e sem teclado e só te resta o "reset" =P

    Bom...essa é uma função que ficou disponível a partir do Windows 98 e não se sabe se vai estar disponível nas próximas versões do Windows (só testei no XP, no Vista já não sei se tem, se alguem puder testa ai e posta ). Para não termos nenhum problema com isso, vamos checar se a função está disponível.

    Na cláusula var do seu programa (acima de implementation), declare o seguinte:
    Código:
    BlockInput : function(Block: BOOL): BOOL; stdcall;
    Aqui vai a função que checa se a função BlockInput está disponível na User32.dll e já carrega a DLL para podermos chamar a função:
    Código:
    function CarregaDLL(Nome, funcao: string; var pt: pointer): boolean;
      var
        lib: THandle;
      begin
        pt := nil;
        if LoadLibrary(PChar(Nome)) = 0 then result:=false;
        lib := GetModuleHandle(PChar(Nome)) ;
        if lib <> 0 then
        begin
         pt := GetProcAddress(lib, PChar(funcao)) ;
         if p <> nil then Result := true;
        end;
      end;
    Muito bem, essa função carrega a DLL, procura o entry point da função dentro da biblioteca e, se achar, retorna True e o ponteiro para a função fica na variável pt.
    Observe que essa função é geral, isto é, serve para procurar qualquer função em qualquer biblioteca. Basta fornecermos a biblioteca , a função a ser procurada e um endereço onde ele vai guardar o ponteiro para a função.

    No nosso caso, vamos passar o endereço da variável declarada lá em cima "BlockInput: function..."

    Agora no evento onClick de algum botão, ou em qualquer outro evento de sua preferência, coloque:
    Código:
    if CarregaDLL('USER32.DLL', 'BlockInput', @BlockInput) then
       begin
        ShowMessage('Seu mouse e teclado serão desativados por 10 segundos! Mantenha a calma...') ;
        BlockInput(true) ;
        Sleep(10000) ;
        BlockInput(false) ;
       end;
    Bom...não preciso dizer que o código acima bloqueia o mouse e o teclado por 10 segundos (que parecem uma eternidade quando você está testando, sempre vem aquele desespero... :cool: )

    Muito fácil e útil pra quem gosta de bagunçar com trojans =)

    Flws
    Last edited by .IndependentResearch.; 18-12-2009, 19:50.
    Black-Hat.
    Similar Threads

  • Font Size
    #2
    Muito bom Black Sempre com Otimas Dicas esses tempos atras estava atrás dessa Funcaozinha
    Valew Por compartilhar Abracss
    sigpic

    Comment


    • Font Size
      #3
      malvado^^ legal pra adiquirir conhecimento.

      Comment

      X
      Working...
      X