Quel langage pour un MITM

Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#1
Bonjour a tous,
Après un long moment d'absence sur Cadernis je reviens pour développer un bot, mais pas n'importe quel bot, un Man In The Middle pour être précis.
En effet après un ans d'étude en informatique a Epitech Lille, le C na plus de secret pour moi, c'est pourquoi je reviens ici, aujourd'hui, pour vous demander quel serait le langage le plus adapté ou le plus riche en tuto pour mettre au point de préférence un MITM. Si il n'y a pas assez d'information sur les MITM je me dirigerais alors vers un bot socket en VB.NET histoire de (re)découvrir un autre langage.
J’espère avoir une réponse au plus vite pour me mettre a travailler dessus le plus vite possible.

Cordialement,
Kangogoo.
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#2
Il n'y a pas de langage spécifique pour faire un MITM, suffit de savoir ce que c'est et que le langage supporte les sockets.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#3
Salut, le vb.net est trés bien mais le c# c'est trés bien aussi (il me semble que la syntaxe du c# se raproche plus du c) et en plus c'est beaucoup plus propre
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#4
Pour moi le langage na que très peu d'importance, ce que je cherche c'est surtout une bonne base pour commencer, a savoir un petit tuto qui explique plus ou moins en détail comment s'y prendre pour faire un MITM. Il y avait bien le tuto d'Overedge en C# mais il ne l'a pas continué, du coup est-ce qu'il y en a d'autre que vous pouvez me conseiller ?
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#5
Dans ce qua la je te dit sans esiter c# il existe plusieur tuto sur le fofo et surtout les source de EuuBot et Bim qui sont des projet de bot trés avancer mais il ne sont plus a jours... (euubot est trés facile a remétre a jours)
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#6
asyade a dit:
Dans ce qua la je te dit sans hésiter c# il existe plusieurs tuto sur le fofo et surtout les source de EuuBot et Bim qui sont des projet de bot très avancer mais il ne sont plus a jours... (euubot est très facile a remettre a jours)
Merci pour ta réponse. Je compte donc m'orienter vers le C# et reprendre EuuBot pour le remettre a jour voir l'améliorer pour enfin avoir un bot (MITM) digne de ce nom. J'ai donc récupérer les sources de Euubot ainsi que la bêta. J'ai tout d'abord tenter de faire fonctionner le bot en suivant le tuto de configuration et en modifiant le config.xml mais sans succès : impossible de me connecter au jeu. Je me suis alors mis a regarder les sources pour voir ce qui clochait mais je ne sais où chercher. Je me tourne donc vers vous pour savoir si quelqu'un avait réussis a remettre ce bot a jour ou presque et pourquoi faire une nouveau sujet (voir un tuto) qui parlerais que de cela.

Cordialement,
Kangogoo.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#7
Salut , enfaite l'ip de dofus a changer donc tu doit la changer dans euubot, pour faire sa c'est trési simple tu choisie euubot.relay.interface d'ans l'explorateur de solution puis tu va dans Properties/Parametres puis tu séléctione "Do fusServerIp" (sans l'espace)et tu remplace la valeur par 213.248.126.39 ensuite tu doit métre la partie network et data a jours pour ca il y a un generateur de class qui est simple a utiliser et pour finire tu doit remetre le lecteur de map a jours
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#8
asyade a dit:
Salut , enfaite l'ip de D. a changer donc tu doit la changer dans euubot, pour faire sa c'est très simple tu choisie euubot.relay.interface d'ans l'explorateur de solution puis tu va dans Properties/Paramètres puis tu sélectionne "Do fusServerIp" (sans l'espace)et tu remplace la valeur par 213.248.126.39 ensuite tu doit mettre la partie network et data a jours pour ça il y a un générateur de class qui est simple a utiliser et pour finir tu doit remettre le lecteur de map a jours
Merci pour ton aide, je m'y attelle de suite.
- Concernant l'ip j'avais bien remarquer qu'elle avait changée, mais je la modifier directement depuis la GUI du bot dans configuration mais apparemment cela ne suffisait pas.
- Pour la partie Network et Data j'ai bien vu le générateur de code cependant je n'arrive pas a l'utiliser malgré sa simplicité : lorsque je met le dossier netword (...\com\@nk@m@g@mes\jerakine\network) et le dossier de destination j'obtiens une erreur et rien ne se créer. Concernant la partie Database, quant a elle, je ne sais comment l'utiliser pourrais-tu m'éclairer ?
- Pour le lecteur de map, est ce que je peux utiliser de D2pReader de UnknowHacker qui est disponible ici même ?

Ps : Voici l'erreur que j'obtiens lors de la génération de code pour la partie Network :

Cordialement,
Kangogoo.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#9
Alors pour le lecteur de map oui celui de UnknowHacker est trés bien c'est celui la méme que j'utilise
si sa tinteresse voila le plugin mapmanager modifier pour le reader de UnknowHacker

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EuuBot.Relay.PluginInterfaces;
using EuuBot.Relay.PluginInterfaces.Host;
using EuuBot.Debugging.Logging;
using EuuBot.Data.Maps;
using EuuBot.Data.Maps.MapInformations;
using System.Xml.Linq;
using EuuBot.Packets.Game.Character.Choice;
using EuuBot.Packets.Game.Context.Roleplay;

namespace EuuBot.Relay.Plugins.Maps
{
    [PluginInformation("DataBaseMapsManager", "Shared plugin to retrieve maps information", "MikeDotNet", "1.0.1")]
    public class MapsManagerPlugin : ISharedPlugin, ILoggable
    {

        private static MapManager _mapManager;
        private IPluginHost _host;

        /// <summary>
        /// Retrieve the desired map
        /// </summary>
        /// <param name="mapId">The Id of the map to retrieve</param>
        /// <returns>The Map object that correspond to the mapId, if no map correspond, an exception is thrown.</returns>
        public Map GetMap(int mapId)
        {
            return _mapManager.GetMap((uint)mapId);
        }

        #region IPlugin Membres

        public void Initiate(IPluginHost host)
        {
            //TODO : Shared plugins are not initialized. IPluginHost need to be re-defined for shared plugins. And remove the possibility to send packets
            _host = host;
            _mapManager = new MapManager(@"C:\Program Files (x86)\Dofus2\app\content\maps");
        }


        #endregion

        #region IDisposable Membres

        private bool _disposed = false;

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }

        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    //dispose managed things, for example close running threads.
                    //Do not dispose the form, it is taken care by the plugin manager
                }

                //dispose unmanaged code
                _disposed = true;
            }
        }

        #endregion

        #region ILoggable Membres

        public Guid DebugKey
        {
            get { return _debugKey; }
        }
        private Guid _debugKey = Guid.NewGuid();

        public event EventHandler<LogEventArgs> Log;

        protected void onLog(string text)
        {
            onLog(text, LogType.Info);
        }

        protected void onLog(string text, LogType logType)
        {
            if (Log != null)
                Log(this, new LogEventArgs(text, this.DebugKey));
        }

        #endregion
    }
}
et pour le générateur c'est pas bien compliquer il faut que tu méte le dosier network en ENTIER (c'est a dire les dosier messages,type et enums et les 3,4 classe qui sont dans le dosier
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#10
Et pour la partie database de bou2 moi non plus j'y comprent rien je suit méme pas sur que ce soit du sql >< donc ce que j'ais fait moi c'est que j'ais tout virer la bdd et voila ^^'

ps. Une fois le lecteur de map changer tu va avoire plin d'erreur mai ne tafolle pas toute les données sont la elle on just changer de nom (;
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#11
Ah et une dernier chose dans le config.xml tu ne doit pas métre 127.0.0.1 sa ne marchera pas il faut métre ton ip local (comme indiquer dans le tuto de configuration de euubot)
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#12
pour le générateur c'est pas bien compliquer il faut mettre le dossier network en ENTIER (c'est a dire les dossier messages,type et enums et les 3,4 classe qui sont dans le dossier
J'ai mis le bon dossier cette fois mais j'obtiens une nouvelle erreur :
J'ai jeter un œil sur le code mais je ne comprends pas vraiment cette erreur. J'ai aussi regarder si mon dossier de destination contenais des fichier nouvellement créer, mais ce n'est pas le cas. Peux-tu m'indiquer ce que je fais de faux et également le chemin exact a mettre dans network forlder stp ?

Cordialement,
Kangogoo.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#14
Et dans network folder tu met le dosier "network" des source de dofus (lance visual studio en admin on c'est jamais)
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#15
asyade a dit:
J'ais eu cette erreur il me semble mais je ne me souvient plus comment je l'ai résolu je t'envoi mon generateur ta cas remplacer le tien par celui la ca devrais marcher https://mega.co.nz/#!5Q5FUDSB!Juu1qlyPC ... 0O74ckqUwE
Merci je vais tester tout cela et essayer de trouver ou sa diffère. Sinon je n'utilise pas Visual Studio mais SharpDevelop ;)

Ps : Pense à regarder tes MP.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#16
Ah ok, si sa marche pas test avec visual studio on c'est jamais ^^'
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#17
Après plusieurs tentative a la fois avec SharpDevelop et Visual C# Studio j'ai toujours la même erreur lors de la génération des fichiers network a la fois avec les sources de base et avec tes sources asyade. Je ne comprends vraiment pas d’où cela peux venir.
Est-ce parce que je suis sous un os 64bit ? J'en doute mais j'avais un problème de compilation avec SharpDevelop qui me demandait de passer sur un mode de compilation 32bit.
En attente de votre aide précieuse.

Cordialement,
Kangogoo.
 
Inscrit
5 Decembre 2010
Messages
114
Reactions
0
#19
Merci pour tes fichiers je vais essayer de régler mon problème pour le générateur sinon pour les prochaines MaJ je serais encore coincé. J'ai donc ré-télécharger les sources de EuuBot pour en avoir des propres (dépourvues de tout changement) et j'y ai incorporé tes fichiers en remplaçant ceux déjà présent.

Au niveau du MapsManagerPlugin.cs se trouvant dans ...\EuuBot sources\EuuBot.Relay.Plugins\Maps dois-je le remplacer par celui que tu as mis quelque post plus haut ou je peux tout simplement créer un nouveau fichier (donc un plugin différents) que j'intégrerais ensuite dans la liste des plugins ??

Ensuite lors du débogage du code j'ai rencontrer quelque erreurs j'ai donc suivis ce que tu m'avais dis et j'ai par consequent modifier les variables qui avaient changer de nom :

  • - Dans CellPathFinder.cs ligne 18 :
    Code:
    public void SetCurrentMap(Map map, bool useDiagonals)
    devient :
    public void SetCurrentMap(Data.Maps.MapInformations.Map map, bool useDiagonals)
    - Dans IPathFinder.cs ligne 11 :
    Code:
    void SetCurrentMap(Map map, bool useDiagonals);
    devient :
    void SetCurrentMap(Data.Maps.MapInformations.Map map, bool useDiagonals);
Apres ces modification j'ai donc refait un debogage et la je suis tombé sur une nouvelle erreur mais je ne sais comment la résoudre (je ne sais qu'elle est la nouvelle variables) :
Dans CellPathFinder.cs ligne 36 et 44 :
Code:
cell = map.CollisionData.CellData[id];
Peux-tu, en premier lieu, m'indiquer si les changement mentionner plus haut sont les bons et dans un deuxieme temps, bien vouloir m'indiquer quelle variable je dois utiliser pour la deuxième erreur.

Merci d'avance,
Kangogoo.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#20
Dabord les changerment que tu a fait mon l'aire correct ensuite, le code que je tais donner tu le met a la place du plugin déja présent comme sa tu n'aura pas a changer les référence pour chaque plugin qui l'utilise ensuite , et pour l'erreur je voie pas trop ce que tu veut dire , si sa tinteresse voila la fonction qui te pose probléme aranger par mes soin
Code:
   public void SetCurrentMap(EuuBot.Data.Maps.MapInformations.Map map, bool useDiagonals)
        {
            if (map.Id== _currentMapId)
                return;
            _currentMapId = (int)map.Id;
            _useDiagonals = useDiagonals;
            _matrix.Clear();
            _openList.Clear();
            _find = false;
            CellData cell;
            int id = 0;
            int loc1 = 0;
            int loc2 = 0;
            int loc3 = 0;
            for (int line = 0; line < 20; line++)
            {
                for (int column = 0; column < 14; column++)
                {
                    cell = map.Cells[id];
                    _matrix.Add(id, new Cell(cell.MapChangeData != 0, cell.Mov, cell.Los, column, loc3, id, loc1 + column, loc2 + column));
                    id++;
                }
                loc1++;
                loc3++;
                for (int column = 0; column < 14; column++)
                {
                    cell = map.Cells[id];
                    _matrix.Add(id, new Cell(cell.MapChangeData != 0, cell.Mov, cell.Los, column, loc3, id, loc1 + column, loc2 + column));
                    id++;
                }
                loc3++;
                loc2--;
            }
        }
 
Haut Bas