Gruyere in process ou comment manger les fenêtres sans se faire voir (api win32)

Description

Ceux qui viennent de voir le code source de Gruyère vont se demander qu'est-ce qu'apporte cette version et surtout pourquoi elle est en niveau 3. La réponse est simple : on utilise plus de process. Ou alors juste au démarrage, ensuite tout le code est placé sous un processus hôte, ce qui permet de rester invisible :)
Ensuite, cette fois, on ne mange qu'un type de fenêtre, histoire d'être moins boulimique. (Il s'agit de Winword (qui a dit que je n'aime pas Microsoft?!!) mais il suffit de changer un define pour avoir une autre cible).

ATTENTION : les "remotes threads" ne sont pas toujours bien vu, puisqu'ils s'approchent beaucoup du fonctionnement des virus. A manipuler avec beaucoup de prudence, donc.

C'est aussi pourquoi :
1) je n'ai mis ce code que dans un but pédagogique
2) J'ai à jouter un autre petit programme permettant de supprimer le thread que l'on vient de créer.

Conclusion :


Le programme de secours est fait sous VC++ 6, mais peut être très facilement porté sous un autre compilo.
Par contre Gruyere_in_process a été compilé sous C++ Builder 6, et ceci pour une raison simple : il ne vérifie pas la mémoire utilisée (check memory) contrairement à VC++. Donc l'utilisation des RemoteThread en est simplifié.
Pour ceux qui désirerait tout de même utiliser VC++, sachez d'abord que le code est compatible (il faut juste changer stricmp par _stricmp dans le fichier main.cpp).
Mais par contre si vous ne voulez pas crasher le processus cible vous devrez faire très attention aux options de compilation.

Conseil : si vous le compiler pour la première fois, utiliser une autre appli que Explorer comme cible... (genre Notepad qui même si elle plante, ne causera pas de gros soucis).

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.