Problema para pensar - VB.NET (2008) | ZWAME Fórum
Problema para pensar - VB.NET (2008)
Discussão em 'Programação' iniciada por Jow, 7 de Setembro de 2012. (Respostas: 2; Visualizações: 876)
Já perguntei ao Google, mas não queria adiar o meu projecto sem contactar mentes portuguesas
Tenho estado empenhado no desenvolvimento de uma aplicação anti-keylogging (ou seja, um teclado virtual que não usa o sinal de keystrokes e por isso, julgo, tem mais probabilidades de escapar ao keylogging).
Para isso, criei um teclado virtual que insere os caracteres desejados numa caixa de texto própria do programa, da qual deveria sair o texto sensível para incorporar onde quer que seja.<br>O problema surge quando eu me lembrei que o mais seguro seria fugir ao clipboard e fantástico seria se eu pudesse colocar o texto directamente no controlo-alvo (até admito que cheguei ao limite de imaginar o darg & drop do texto para o controlo alvo).
1. Estou a pensar bem?
2. Alguma sugestão de como concretizar o processo de envio do texto? (esqueçamos o drag & drop que, eu sei, é mais um floriado muito bonito )
Não digo que seja uma ideia interessante mas acho que há bastantes erros na tua abordagem.
Primeiro, a tecnologia de keyloggers evolui o suficiente para não só apanharem os eventos do teclado mas também os movimentos do rato, cliques e até ouvi dizer que alguns keyloggers usados por empresas até gravam fotos/videos do que se passa no ecrã.
Portanto, há muita coisa que se teria que fazer só para evitar que a password seja apanhada.
Segundo, a tua abordagem para colocar o texto no controlo alvo também tem os seus problemas. Se tiveres que fazer "copy+paste" então os dados vão estar acessíveis a qualquer programa. Drag&drop não é diferente já que também passa no clipboard. Tirando o acesso à memória do programa alvo para escrever no controlo, que leva a que a tua aplicação seja possivelmente marcada como maliciosa, a solução passa por copiar o funcionamento do próprio teclado virtual que já vem com o Sistema Operativo. Como fazer isso é que já não sei.
Se leres o que escrevi, vais perceber que a minha ideia passa exactamente por fugir ao clipboard, daí não fazer copy-paste. Só não fazia ideia de que o drag&drop também recorria à área de transferência.
Seja como for, a ideia do programa é fugir ao keylogging propriamente dito (ou seja ao registo dos movimentos do teclado). Quanto aos movimentos do rato não há problema, porque consigo com que o programa mude a posição das letras, daí que mesmo que os movimentos do rato sejam registados, movimentos iguais dizem respeito a letras diferentes.
Quanto ao registo do ecrã já é algo que está (e sempre esteve) fora do objectivo deste programa fugir-lhe, até porque não sei até que ponto tal é possível - já para não falar da incompatibilidade com programas legítimos de gravação de vídeos do ecrã, como o CamStudio.
Finalmente, copiar o teclado virtual do Windows (e outros do género) é a única coisa que não vou fazer e eis porquê: escrever num teclado físico ou no teclado que vem com o Windows é exactamente a mesma coisa, na medida em que ambos emitem o sinal do KeyStroke e que é exactamente aquilo que é captado pelos keyloggers. Uma vez que estou a tentar fugir-lhes, copiar esse acessório do Windows não se revela uma medida muito eficaz.