[API Windows] Récupérer données d'un autre processus

Le
REMY Thomas
Bonjour,

J'ai un programme boursier très fermé sans api exterieure permettant d'y
accéder.

Ce que j'aimerait faire, c'est récupérer les données qui sont affichées sur
un controle à l'aide de son handle.

Le gros problème c'est que la classe de l'instance du controle référencé par
ce handle n'est pas un controle standard tel que ListView32, etc il n'a
aucun nom de classe, et si il descend d'une classe standard, je ne sait pas
comment la détecter pour pouvoir envoyer les bons messages à cette instance.

J'ai vu quelques arcticles permettant d'injecter du code dans le process
étranger, permettant de capter les messages envoyés au dit-controle mais
bon

Si l'un des lecteurs de ce message a une idée, n'hesitez pas ! je vous en
serait extremement reconnaissant, j'essaye de trouver un moyen de prendre
les données d'un controle à partir de son handle depuis très longtemps lol

Thomas
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Arnold McDonald \(AMcD\)
Le #9792461
Ben c'est pas vraiment compliqué. Des techniques, il y en a des tas. Hook,
injection, rerouting, remote-subclassing, monitoring, etc. Je donne plus
d'exemple concret, j'en ai marre de me faire insulter ensuite paske je
favorise les méchants overlordselitehackers, gnagnagna.

Sinon, le basique, tu prends un outil comme spy++, tu espionnes ton contrôle
et les échanges de messages dessus. Ensuite, le plus simple, hook global sur
ce message et test sur le contrôle pour voir l'owner des messages. Et tu
garde ce qui t'interesse :-).

--
Arnold McDonald (AMcD) - Help #11 /2006

http://arnold.mcdonald.free.fr/
Paul Bacelar
Le #9792431
Vous allez au devant de gros problèmes de sécurité et de maintenance.

Essayez de trouver une API.
--
Paul Bacelar


"REMY Thomas" news:43cb924a$0$20168$
Bonjour,

J'ai un programme boursier très fermé sans api exterieure permettant d'y
accéder.

Ce que j'aimerait faire, c'est récupérer les données qui sont affichées
sur un controle à l'aide de son handle.

Le gros problème c'est que la classe de l'instance du controle référencé
par ce handle n'est pas un controle standard tel que ListView32, etc... il
n'a aucun nom de classe, et si il descend d'une classe standard, je ne
sait pas comment la détecter pour pouvoir envoyer les bons messages à
cette instance.

J'ai vu quelques arcticles permettant d'injecter du code dans le process
étranger, permettant de capter les messages envoyés au dit-controle mais
bon...

Si l'un des lecteurs de ce message a une idée, n'hesitez pas ! je vous en
serait extremement reconnaissant, j'essaye de trouver un moyen de prendre
les données d'un controle à partir de son handle depuis très longtemps lol

Thomas



Arnold McDonald \(AMcD\)
Le #9792421
Paul Bacelar wrote:
Vous allez au devant de gros problèmes de sécurité et de maintenance.



Pourquoi donc ? Je fais ce genre de choses quasiment tous les jours, ça ne
me pose aucun problème. Le sous-classement, le hooking, l'injection, le
monitoring, etc., cela s'apprend. Bien fait, cela ne pose aucun souci de
maintenance, sauf, peut-être que le code change suivant les OS. Mais bon, le
code portable parfait n'existant pas...

Essayez de trouver une API.



On dit une fonction d'API, une API c'est un ensemble de constantes,
variables, fonctions, etc. De toute façon, il n'en existe pas. Il lui suffit
de suivre les pistes que j'ai donné (oui, Google...), de regarder dans des
bouquins comme le Richter, ou des articles traitant de virus, malware,
patchers de jeux, etc. Évidemment, c'est un peu plus difficile que de
cliquer sur 3 boutons dans un Windev, c'est sûr...

--
Arnold McDonald (AMcD) - Help #12 /2006

http://arnold.mcdonald.free.fr/
Christian ASTOR
Le #9792411
REMY Thomas wrote:

Ce que j'aimerait faire, c'est récupérer les données qui sont affichées sur
un controle à l'aide de son handle.

Le gros problème c'est que la classe de l'instance du controle référencé par
ce handle n'est pas un controle standard tel que ListView32, etc... il n'a
aucun nom de classe, et si il descend d'une classe standard, je ne sait pas
comment la détecter pour pouvoir envoyer les bons messages à cette instance.



"handle", "aucun nom de classe" : incompatible (windowless sinon) (même
les Afx:xxx sont des noms de classe)
S'il dérive d'une classe standard et pas themed, RealGetWindowClass()
Et comme a dit AMcD, le 1er réflexe est Spy++...
REMY Thomas
Le #9792371
Merci pour le RealGetWindowClass(), Spy++ est d'un grand secours, et je
pense qu'avec l'injection de code je vais pouvoir faire quelque chose.

De toute facon pour l'api, y'en a pas et y'en aura jamais, je suis obligé de
faire à ma méthode d'injection.

Merci pour l'aide,

Thomas

"Christian ASTOR" news: 43cc9bb0$0$26402$
REMY Thomas wrote:

Ce que j'aimerait faire, c'est récupérer les données qui sont affichées
sur un controle à l'aide de son handle.

Le gros problème c'est que la classe de l'instance du controle référencé
par ce handle n'est pas un controle standard tel que ListView32, etc...
il n'a aucun nom de classe, et si il descend d'une classe standard, je ne
sait pas comment la détecter pour pouvoir envoyer les bons messages à
cette instance.



"handle", "aucun nom de classe" : incompatible (windowless sinon) (même
les Afx:xxx sont des noms de classe)
S'il dérive d'une classe standard et pas themed, RealGetWindowClass()
Et comme a dit AMcD, le 1er réflexe est Spy++...


Poster une réponse
Anonyme