2.0 Comment interagir avec l'utilisateur d'un Client D2 (MITM)

Inscrit
14 Decembre 2012
Messages
48
Reactions
2
#1
Hello,

J'arrive à la fin de mon MITM et je suis en train de mettre en place un système de plugin pour l'utilisateur, mais pour ça j'aimerai trouver une/plusieurs façon d’interagir avec le client. Je suppose que certaines personnes l'ont déjà fait et doivent avoir de bonnes idées pour créer une interaction avec l'utilisateur. Je liste ici les solutions qui me viennent en tête:
  1. Extenal Overlay (une fenêtre au dessus de celle de Dofus qui transfert tous les inputs)
  2. Internal Overlay (on se hook à la dll de DirectX)
  3. Via le protocole D2
    1. ChatServerMessage : beaucoup de possibilités mais le champ fingerprint me fait assez peur, à quoi sert-il ?
    2. ...
  4. Memory Reading/Writing : assez compliqué pour D2, la seule solution est d'utiliser un AOB scan pour trouver les adresses.
Et vous, vous feriez comment ?

Merci à vous !
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#2
Hello,

Alors moi, ce que j'aime faire, et qui s'éloigne de tes propositions.

C'est "gober" la fenêtre Dofus grâce à User32,

Code:
 User32Wrapper.SetParent(GameProcess.MainWindowHandle, Control.GroupBox_GameView.Handle);

Et ajouter un onglet vertical, du coup, pas besoin de switch entre plusieurs fenêtres,

L'utilisateur sélectionne l'onglet du compte voulu et il a accès aux fonctionnalités et au client en direct.
 

Sorrow

Membre Actif
Inscrit
5 Mai 2012
Messages
376
Reactions
26
#3
C'est "gober" la fenêtre Dofus grâce à User32,

Code:
 User32Wrapper.SetParent(GameProcess.MainWindowHandle, Control.GroupBox_GameView.Handle);
OMG j'ai chercher a faire ça depuis super longtemps, je savais jamais quoi chercher sur Google, MERCI !
(J'avais tenter de regarder dans les sources de Flaty mais en vain...)
 
Inscrit
14 Decembre 2012
Messages
48
Reactions
2
#5
Merci pour vos réponses, j'aime bien l'idée du SetParent. Je le mettrai sur une console flottante.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#6
Une précision; quand tu fermes ton programme et que les fenêtres sont "gobées", les processus continuent à tourner en background.
Pense à les détacher du programme avant fermeture.
Vu les fuites mémoires :'(
 
Haut Bas