begin process at 2012 02 11 08:55:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

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

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


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Niveau :Débutant Date de création :22/06/2005 Vu :8 493

Auteur : grandvizir

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 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/


 Sources du même auteur

RÉCUPÉRER LE KBID DES PATCHS CORRECTIFS INSTALLÉS SUR UNE MA...
Source avec Zip INFORMATIONS POUSSÉES SUR UNE PAGE D'UN TWEBBROWSER
Source avec Zip CORRECTEUR ORTHOGRAPHIQUE EN DIRECT
CODE DE HAMMING (4,8) : TRANSMISSION DE DONNÉES SANS ERREUR ...
MODIFIER L'HORLOGE DU SYSTÈME D'EXPLOITATION

 Sources de la même categorie

Source avec Zip LECTURE DE LA MEMOIRE D'UN AUTRE PROCESSUS par Mokost
Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture OBSERVATEUR DE PROCESSUS ACTIFS; VPROCESS 1,0 par Neftali
UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT par ThWilliam
Source avec une capture VOTRE PROGRAMME DE MAIL COMME CLIENT MAIL PAR DÉFAUT SOUS WI... par MAURICIO

Commentaires et avis

Commentaire de MAURICIO le 22/06/2005 14:48:11 administrateur CS

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.

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.

Commentaire de SiZiOUS le 25/06/2005 17:27:52

Tu parles des Atoms ?

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

Commentaire de MAURICIO le 27/06/2005 14:47:40 administrateur CS

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

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales