Page 1 sur 1

[R] "Send" invisible/difficile à détecter par un KeyLogger

Posté : mar. 19 juin 2012 12:11
par ZDS
[Résolu, solution utilisable pour tout type de fenêtre au final]

Bonjour à tous,

Je poste ce message pour savoir si il existe un moyen d'envoyer un texte dans une fenêtre, sans que le texte puisse être intercepté par un programme externe. Je me doute déjà de certaines réponses, mais la fenêtre cible n'est pas une fenêtre classique, créée à partir de composants Windows. C'est un(e) RIA (type Flash / Flex / Adobe Air / etc...), M2M-EasyPlanet pour ceux qui voient de quoi il s'agit.

Mes investigations m'ont obligé à utiliser un KeyLogger créé à partir des fonctions AutoIt internes (script que je ne fournirai pas, pour des raisons évidentes de sécurité), et j'ai remarqué que sur des fenêtres classiques comme le bloc-notes, les envois par Send étaient interceptés par le KL, mais pas ceux par ControlSend.

Mon but est donc de savoir comment utiliser les fonctionnalités du même type que ControlSend pour une fenêtre dont on ne peut pas connaitre les controlIds (tout simplement parce qu'elle n'en a pas). Un exemple sous la main?

Merci d'avance !

PS: En visitant les wikis et les sites en cheville avec MSDN, je suis déjà tombé sur les commandes SendInput. Je pense que ce sont déjà les fonctions qui sont utilisées dans Send et dans ControlSend, mais quelle différence permet de faire que le Send est interceptable mais pas le ControlSend?

EDIT: Solution envisageable ?
► Afficher le texteSecuredSend
EDIT2 : Correction pour les envois de caractères multiples 'aaaa'

Re: [..] Envoi de texte "sécurisé" vers un RIA

Posté : mar. 19 juin 2012 13:37
par Baku
Yop, il me semble que controlsend passe par l'édition mémoire du programme pour injecter le contenu alors que le send simple lui créerai plutôt un clavier virtuel d'où la possibilité de l'intercepter avec un simple keylogger. Mais j'me trompe peut-être :P

Re: [..] Envoi de texte "sécurisé" vers un RIA

Posté : mar. 19 juin 2012 18:25
par ZDS
J'ai peut être une piste, voici une UDF toute bête. Par contre, j'ai eu à l'affichage quelques rectangles parasites lors de la frappe, qui peuvent venir d'une complétion automatique dans la fenêtre cible (pour le test, une comboBox en Flex).
► Afficher le texteSecuredSend
Par contre, on perd la finesse des "{ }" utilisables dans les Send et ControlSend. Tout est envoyé en Raw.

Le résultat de ce code est que le KL repère les envois de touches mais n'en saisit pas le contenu ("8 caractères, mais lesquels?", c'est quand même mieux que de lire la donnée en toute lettre).

Qu'en pensez-vous?

EDIT : Correction pour les envois de caractères multiples 'aaaa'

Re: [..] "Send" invisible/difficile à détecter par un KeyLog

Posté : mer. 20 juin 2012 10:13
par ZDS
Bonjour,

Après des tests dans tous les sens tout à fait concluants (mais certainement pas infaillibles, je n'ai pas la science infuse), je pense avoir trouvé un équivalent de la fonction "Send", mais qui ne déclenche pas les HotKeySet (ni les hooks) ! Une petite alternative à certains scripts contenant/envoyant des données sensibles comme un mot de passe, afin de ne pas se faire intercepter par un KeyLogger.

Code : Tout sélectionner


A bientôt! Problème résolu.