begin process at 2010 03 21 11:03:11
  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 :6 959

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 une capture VOTRE PROGRAMME DE MAIL COMME CLIENT MAIL PAR DÉFAUT SOUS WI... par MAURICIO
SYNCHRONISATION DE THREADS DANS DES DLL par saib
Source avec Zip Source avec une capture DISKINFO V1.0.0 par Christophe67
Source avec Zip Source avec une capture MEMORYSTATUS par Christophe67
Source avec Zip Source avec une capture GLIBWMI VCL COMPONENT LIBRARY 1.8B par Neftali

Commentaires et avis

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.

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

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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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,421 sec (4)

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