Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

BLOQUER L'ESPION SPY++ [TTYGRAB, CONSOLEWINDOWCLASS, #32768, #32769]


Information sur la source

Description

Cliquez pour voir la capture en taille normale
J'ai découvert ce qui suit par hasard, et il faut bien avouer que techniquement, ça apporte quelque chose de très intéressant.

Spy++ est un utilitaire très pratique pour espionner les flux de messages avec Windows et entre applications. Il permet également de détecter les styles, les threads... un logiciel très efficace en somme. Ses concurrents sont WinSight (fourni avec Delphi) et WinSpector (voir site Web du même nom).

Je propose donc ici une manière pour bloquer Spy++, la version 6.00.8168.0 étant utilisée pour les tests. Ainsi, il est fort probable de pouvoir sécuriser des transferts de données, même si dans l'absolu, c'est impossible.

A l'occasion de manipulations sur des fenêtres MS-Dos, j'ai pu constater que toute classe nommée "ttyGrab" ne pouvait pas être espionnée (cf. capture d'écran). J'en déduit donc deux principes:

1) En profitant de la syntaxe de Delphi (càd que les types sont précédés de la lettre "T"), nommez simplement votre fenêtre principale "tyGrab" avec un seul "T": propriété NAME. Ainsi, votre fenêtre est déclarée en tant que classe TNomDeLaFenêtre, soit TtyGrab.

L'expérience montre que la fenêtre n'est pas espionnable (cf. capture d'écran). En revanche, si on place un TEdit dans la fenêtre, lui est espionnable... Alors à quoi sert mon idée ?

2) Déjà, c'est la fenêtre qu'on bloque, pas ce qu'elle contient. Pour résoudre ce détail, développons un composant sur le modèle suivant :

unit MsDos;
interface
uses Classes, Controls;
type
  ttyGrab = class(TWinControl) //TCustomControl si vous voulez ensuite dessiner dedans
  end;
  procedure Register;
implementation
procedure Register;
begin
  RegisterComponents('Win32', [ttyGrab]);
end;
end.

J'ai deux remarques.

Premièrement: le composant est d'une basicité effrayante. Je voulais simplement montrer le squelette de base, car rien n'empêche ensuite de construire des choses dedans. Ce dedans devant être nécessaire des composants non fenêtrés, càd TGraphicControl par exemple.

Deuxièmement: on est a priori limité en nombre de classes. Mais en fait, la technique marche également sur trois autres classes: "ConsoleWindowClass" (console), "#32768" et "#32769" (tous deux étant relatifs au bureau général de Windows). Je pense qu'il devrait y en avoir d'autres...

Au final, c'est Spy++ qui se bloque lui-même... sûrement pour une bonne raison ! Pour nous en tout cas, c'est déjà pas mal.
 

Conclusion

Vous pouvez toujours aller visiter http://altert.family.free.fr/
 

Commentaires et avis

signaler à un administrateur
Commentaire de MAURICIO le 22/06/2005 14:48:11

Bien vu GrandVizir!
Comme tu le dis si bien, il existe d' autres espions comme Spy++.
Même si on bloque celui-ci, il n' est pas garanti de bloquer les autres espions...
En tout cas cela reste une bonne démonstration. Si tu nous pouvais faire une source d' exemple de communication entre 2 programmes par messages se serait le pied.
A+
PS: je n' ai pas essayé le code, ton explication m' a suffit à comprendre la finalité. De plus, venant de toi, je n' ai pas besoin de tester pour savoir que ça marche.

signaler à un administrateur
Commentaire de grandvizir le 24/06/2005 19:17:50

Regarde les threads IPC du répertoire "Delphi\Demos\Ipcdemos\" pour la communication entre plusieurs applications (et pas seulement 2 !). C'est compliqué... mais il faudra que j'y jette un bon coup d'oeil, parce que c'est vraiment pas mal.

signaler à un administrateur
Commentaire de SiZiOUS le 25/06/2005 17:27:52

Tu parles des Atoms ?

En tout cas, c'est une belle démo. ;)

signaler à un administrateur
Commentaire de MAURICIO le 27/06/2005 14:47:40

Merci GrandVizir!
Si j' ai le temps avant les vacances, j' essayerai de faire une source pour les membres.
A+

signaler à un administrateur
Commentaire de grandvizir le 21/07/2005 14:39:06

Pour ceux que Spy++ intéresse :
http://www.delphifr.com/tutorial.aspx?ID=198

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.