1.29 [C#] EasyHook - Impossible de hook la version Modern de Dofus Retro

Inscrit
25 Septembre 2019
Messages
7
Reactions
5
#1
Salut à tous les p'tits devs du forum,

J'ai repris récemment un projet qui s'apparente à un simple sniffer pour DofusRetro.

Jusqu'à présent j'utilisais la version "Legacy" du launcher pour jouer et j'injectais ma dll (via la librairie EasyHook) dans cette version là.
Seulement j'ai voulu passer à la version "Modern" (notamment pour pouvoir jouer sur Boune) et lorsque j'injecte ma dll dans cette version rien ne se passe.
J'utilise la méthode CreateAndInject() fournie par la librairie EasyHook qui permet de lancer un processus et de lui injecter la dll, avec la version "Modern" le processus se lance correctement (je peux jouer normalement ensuite) mais c'est comme si la methode recv() n'était jamais appelée par l'exécutable Dofus Retro.exe.

Je précise que rien ne change dans mon code mise à part le chemin vers l'exécutable dans lequel j'injecte ma DLL. Dans un cas il s'agit du chemin vers l'exécutable "Legacy" et dans l'autre du chemin vers l'exécutable "Modern".

J'ai testé pas mal de choses :
- Démarrer le processus puis faire appel à la méthode Inject() de la dll EasyHook
- Démarrer le processus en administrateur puis faire appel à la même méthode
- Lancer mon IDE en mode administrateur
- Hook les fonctions WSARecv() et WSARecvFrom,() j'ai même essayé de hook la fonction connect() (pour connect ça fonctionne bien sur la version Legacy, mais pas de résultat pour la version Modern)
- Utiliser Process Monitor pour voir un peu les évènements générés par l'exécutable de Dofus Retro, mais je n'y connais pas grand chose et je me perds vite

Finalement je me retrouve le bec dans l'eau et mes recherches pour comprendre pourquoi le hook de la version Modern ne réagit pas de la même façon que la version Legacy restent sans réponses...

Si l'un d'entre vous pouvait m'aiguiller sur les différences entre les architectures Legacy et Modern ou sur les faiblesses de EasyHook pour hook certain programmes ou si vous connaissez d'autres alternatives pour implémenter mon MITM, je suis preneur de toutes les infos/connaissances que vous pourrez m'apporter sur ces sujets.

Merci à vous :)
 
Inscrit
30 Octobre 2019
Messages
78
Reactions
68
#2
La version moderne tourne sous electron qui est basé sur chromium car les navigateurs avaient le plugin flash et dofus est un jeu flash.
Y'a 6 process du coup faut hook les 6 PIDs.
 
Inscrit
25 Septembre 2019
Messages
7
Reactions
5
#3
La version moderne tourne sous electron qui est basé sur chromium car les navigateurs avaient le plugin flash et dofus est un jeu flash.
Y'a 6 process du coup faut hook les 6 PIDs.
Ah top merci @anon pour l'infos ! Je vais voir ce que ça donne en faisant ça :)
 
Haut Bas