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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

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

#1

Message 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'
Modifié en dernier par ZDS le mer. 20 juin 2012 10:14, modifié 5 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Baku
Niveau 5
Niveau 5
Messages : 103
Enregistré le : mar. 26 oct. 2010 18:34
Status : Hors ligne

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

#2

Message 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
[color=#0000FF]jchd[/color] a écrit :On est tous le casse-burnes de quelqu'un à un moment ou un autre !
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

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

#3

Message 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'
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

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

#4

Message 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.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Répondre