Annonce

Réduire
Aucune annonce.

Premier pas en Reverse Engineering

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Premier pas en Reverse Engineering

    Salutation !

    Avant toutes choses j'aimerai éclaircir quelques points : ce tutoriel s’adresse à des débutants en reverse engineering et si vous avez des questions n'hésitez pas j'essaierai d'y répondre au plus vite (- de 24H).
    Sur ce bon tuto !


    Beaucoup de gens pensent que le Reverse Engineering est quelque chose de difficile, où il faut savoir décrypter parfaitement le langage ASM pour pouvoir ne serait ce que commencer à comprendre les agissements d'un programme … Que n'est ni !

    Dans ce premier tutoriel (oui il y en aura donc d'autres) nous allons faire nos premier pas dans ce monde incroyable qu'est le reverse engineering, ici d'un PE (Portable Exécutable) … enfin d'un .exe Windows quoi !

    Pour ce tutoriel je n'utiliserai qu'un outil très pratique qu'est un éditeur hexadécimal !
    Personnellement j'utilise Ghex (sous Ubuntu) et Frhed sous Windows (ici je serait sous Ghex), tout deux sont à mon sens très bien et surtout gratuit mais libre à vous d'en n'utiliser d'autres.
    Vous pouvez d’ailleurs utiliser un simple éditeur de texte mais bon c'est moi classe.

    Nous prendrons pour exemple ici un utilitaire de test réseau, notre but sera de prouver uniquement à la lecture du fichier avec notre éditeur hexadécimal que notre exécutable utilise bien des fonctions réseaux.

    Bon à l'attaque !

    Commençons par ouvrir notre fichier avec notre éditeur hexadécimal et la … WTF ?!

    cour-1.jpg

    Ne partez pas tout de suite les choses vont commencer a être intéressantes !
    Je vous rassure nous travaillerons uniquement grâce à la partie de droite.

    Bon maintenant nous allons devoir commencer nos recherches …
    Le fichier est un exécutable Windows qui utilise des fonctions réseau jetons un coup d’œil aux DLL réseaux de Windows : ils sont au nombre de deux (il y en a plus mais se sont les plus utilisé/important) : wsock32.dll et ws2_32.dll.
    Très bien cherchons si ces DLLs sont mentionnés ici et magie :

    cour-2.jpg

    Petite astuce : le nom du dll peut être transcrit en hexadécimal de différentes manière, par exemple : « WS2_32.DLL », « ws2_32.DLL », « ws2_32.dll », « WS2_32.dll » ...
    Donc n'abandonner pas vos recherches si vous ne trouvez pas du premier coup, essayez les diverses écritures comme dans les exemples ci-dessus.


    Maintenant nous savons que l’exécutable charge une librairie dynamique pour utiliser des fonctions réseaux.
    Voyons maintenant s'il utilise vraiment ces fonctions …

    NB : 1) les fonctions des DLLs Windows ont, à quelques exception près les même nom que celle en C/C++. Par exemple la fonction de connection du DLL ws2_32.dll (et aussi de wsock32.dll) est connect(), comme en C/C++.
    2) Pour connaître toutes les fonctions stockés dans un DLL il existe un très bon outil gratuit (uniquement pour Windows) qui se nomme Depends.


    Nous pouvons ici voir diverses fonctions réseaux chargés comme par exemple : connect(), send(), closesocket() ...

    cour-3.jpg

    Nous pouvons donc affirmer que cet exécutable utilise bien des fonctions réseaux.
    Mission Accomplie !!!

    Alors c'était si compliqué que ca ?

    HexaHacker

  • #2
    Lu hexaHacker,

    Et dire qu'a une époque je commençais a comprendre l'assembleur et j'ai arrêter. Je vais essayer de m'y remettre.

    Merci alors la suite, c'est pour quand

    Commentaire


    • #3
      La suite va venir dans quelques jours sur le reverse de .NET (sans logiciel uniquement en hexadecimal) !

      Commentaire


      • #4
        Envoyé par HexaHacker Voir le message
        La suite va venir dans quelques jours sur le reverse de .NET (sans logiciel uniquement en hexadecimal) !
        Cool, c'est top !!

        Merci HexaHacker

        Commentaire


        • #5
          Je suis un peu débordé la il arrive ce week-end grand MAX !

          Commentaire

          Chargement...
          X