Radare2 relance son Radare Summer of Code

Posté par  (site web personnel) . Édité par Benoît Sibaud, Florent Zara et palm123. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes : aucune
24
12
mar.
2015
Technologie

Après s'être fait rejeter du Google Summer of Code en 2014 et lancé son propre Radare Summer of Code en réponse, Radare2 s'est à nouveau fait refouler cette année : La réponse logique fût donc une seconde édition du Radare Summer of Code !

logo Radare

Pour mémoire, radare2 est un cadriciel d'analyse de binaires déjà évoqué sur LinuxFr.

La nouvelle interface web

Résumé de l’édition précédente

Celui de l'année dernière a été riche en aventures, et un compte-rendu détaillé est disponible ici. En résumé:

  • 2100€ de collectés, soit 700€ par participant
  • 3 nouvelles fonctionnalités majeures:
    1. Une gestion des structures, à la 010Editor
    2. Une gestion de FLIRT et de Yara
    3. Une gestion des fichiers PDB de Microsoft
  • Plein de nouveaux contributeurs

Pas de grosses surprises pour cette année, il s'agit de la même recette que la précédente édition, les cafouillages en moins:

  • les dons iront intégralement aux participants;
  • il n'y a pas besoin d'être étudiant pour participer ;
  • les participants repartiront avec un t-shirt et des autocollants.

Calendrier

  • 22 avril - ouverture des inscriptions ;
  • 3 mai - fermeture des inscriptions ;
  • 8 mai - annonce des candidats/tâches sélectionnées ;
  • 17 juin - début de la période de code ;
  • 16 septembre - fin de la période de code ;
  • 27 septembre - le code produit doit être fusionné dans la branche principale.

Organisation du projet

La majorité du développement se déroule sur github, qui sert également de bugtracker. Pour la communication, les pads et IRC sont utilisés sans retenue. Le projet utilise une suite de tests unitaires, une instance Jenkins ainsi que Coverity , pour éviter les régressions.

Tâches

Bien qu'étant un projet orienté bas-niveau, il y en a pour tous les goûts et tous les niveaux :

  • améliorer/refactorer l'interface web ;
  • continuer d'intégrer sdb dans radare2 ;
  • améliorer le moteur d'émulation utilisant ESIL ;
  • améliorer le moteur d'analyse toujours à l'aide d'ESIL ;
  • écrire un moteur de transformation ESIL vers SSA, afin de d'avancer vers un dé-compilateur ;
  • améliorer les capacités offensives de radare2 ;
  • créer un constructeur de chaînes ROP, un peu comme ROPGadget ;
  • améliorer l'interface des débogueurs, pour tendre vers quelque chose comme PEDA ou Voltron ;
  • coder un assembleur ;
  • améliorer la génération de graphes.

Conclusion

Le projet recherche donc des dons ainsi que des curieux pour participer :).

Aller plus loin

  • # Autre projet

    Posté par  (site web personnel) . Évalué à 2.

    J'attends le projet qui permet avec llvm de convertir d'assembleur en C/C++ et de pouvoir recompiler le programme.

    Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

    • [^] # Re: Autre projet

      Posté par  (site web personnel) . Évalué à 1.

      Tu es sérieux ?
      Je n'y connais rien dans ce domaine et ce que tu évoque ressemble à une chimère. Alors, info ou intox ?

      « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

      • [^] # Re: Autre projet

        Posté par  . Évalué à 3. Dernière modification le 12 mars 2015 à 20:10.

        https://www.hex-rays.com/products/decompiler/index.shtml

        Il faut juste être réaliste et ne pas s'attendre à ce qu'il te donne le code tel qu'écrit par le développeur, avec les noms de variable corrects, et le flux du programme tel qu'il a été écrit originellement.

        Oh, et il se rate sur certains trucs aussi, c'est pas du 100%

        • [^] # Re: Autre projet

          Posté par  . Évalué à 2.

          Génial !

          Ça marche avec un contrôle ActiveX ? (fichier .OCX), ou faut-il autre chose ?

          "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

          • [^] # Re: Autre projet

            Posté par  . Évalué à 1.

            Ca marchera oui, un .OCX c'est un fichier PE standard comme les .dll et .exe

            • [^] # Re: Autre projet

              Posté par  . Évalué à 0.

              allez je me lance :

                  char prog[] = {0x14, 0x17, 0x27, 0x32, 0x15, [...]};
                  int (*run)(void) = &prog;
                  int main() { return run(); }
              

              bah quoi ?

    • [^] # Re: Autre projet

      Posté par  . Évalué à 3.

      J'attends le projet qui permet avec llvm de convertir d'assembleur en C/C++ et de pouvoir recompiler le programme.

      Moi j'attends que Hurd/L4 enterre Linux (et Android par la même occasion).

      --> []

      • [^] # Re: Autre projet

        Posté par  . Évalué à 6.

        J'attends le projet qui permet avec llvm de convertir d'assembleur en C/C++ et de pouvoir recompiler le programme

        J'attends aussi le projet qui pourra recréer une vache à partir d'un lot de steak hachés :)

        • [^] # Re: Autre projet

          Posté par  . Évalué à 4.

          Et moi celui qui pourra reconstituer une antilope à partir des déjections d'un lion.

          • [^] # Re: Autre projet

            Posté par  . Évalué à 0.

            C'est Toto qui visite l'usine familiale de production de saucisson d'âne. Toto aperçoit une vieille machine toute rouillée et demande à son père :

            - Papa, elle sert à quoi cette machine ? Pourquoi, on ne l'utilise pas ?

            Son père lui répond :

            - Ah, ça c'est ton arrière grand père qui l'a inventée. On rentre un âne par là et il ressort coupé en deux.

            Toto et son père continuent la visite. Toto demande à nouveau à son père :

            - Et cette machine là elle sert à quoi ?

            - Cette machine, c'est ton grand père qui l'a inventée. Tu rentres un âne par là et il ressort coupé en quatre.

            - Ouah ! Et toi Papa tu as aussi inventé une machine.

            - Oui bien sûr, regarde, c'est celle qu'on utilise aujourd'hui, on rentre l'âne par là et il ressort directement en saucissons !

            - Papa, est-ce qu'il y une machine où on rentre un saucisson et il en ressort un âne ?

            Son père, un peu consterné, lui répond :

            - Ah non, celle-là elle n'existe pas…

            - Quand je serai grand j'en inventerai une !

            Après un instant de réflexion le père répond :

            - Tout bien réfléchi, elle existe déjà en fait.

            - Ah, oui ?

            - C'est ta mère…

  • # typorto

    Posté par  (site web personnel) . Évalué à 4.

    tout les goûts et tout les niveaux

    Sinon je souhaite bon courage à ce projet qui semble bien parti.

    kentoc'h mervel eget bezan saotred

  • # Élève

    Posté par  (site web personnel) . Évalué à 3.

    J'ai une classe de première sti2d (16/17 ans) qui fait un peu d'info cette année et commence à s'intéresser sérieusement (un peu, pas tous) au code, notamment en C. Ce n'est pas moi qui m'en occupe (je suis du côté maths) donc, je ne suis pas certain du niveau des plus motivés.

    Je peux leur en parler ou le niveau d'entrée risque d'être trop raide ?

    Au pire, je fais juste passer les mots et les courageux essayeront de prendre contact.

    La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.