3 points par GN⁺ 2024-03-31 | 1 commentaires | Partager sur WhatsApp

Open source du décompilateur rev.ng et lancement de la bêta fermée de l’UI

  • Annonce du passage en open source du backend de décompilation revng-c, ce qui achève l’ouverture en open source de l’ensemble du moteur de décompilation
  • Invitation prochaine des abonnés à la newsletter à la bêta fermée de l’UI de rev.ng, avec invitations envoyées selon un principe FIFO
  • Mise en ligne d’un nouveau site web, avec possibilité d’utiliser la version cloud via rev.ng Hub
  • Même sans participer à la bêta fermée, il est possible d’explorer les projets publics
  • Recrutement en cours de participants pour des démos individuelles des fonctionnalités de rev.ng

Comment utiliser rev.ng

  • L’installation de revng ne nécessite pas de privilèges root, tout étant installé dans un répertoire unique
  • Un exemple de décompilation d’un programme simple est fourni, et la documentation permet de consulter la configuration de l’environnement ainsi que des tutoriels
  • L’inscription à la newsletter est nécessaire pour utiliser l’UI, et les participants à la bêta fermée seront invités progressivement
  • Une QA initiale a été réalisée pour les binaires Linux x86-64, avec prise en charge de divers ABI et plateformes

Objectifs et conception de rev.ng

  • Accent mis sur la récupération automatique des structures de données, une UX moderne, le reverse engineering collaboratif, une large prise en charge des plateformes et l’extensibilité
  • Fonction de récupération automatique de la disposition des structures via l’analyse de la disposition des données
  • UI basée sur VSCode, exécutable dans un onglet de navigateur ou comme application autonome
  • Prise en charge du reverse engineering collaboratif via une architecture client-serveur, avec gestion de projet via rev.ng Hub
  • Prise en charge de diverses architectures sur la base des architectures prises en charge par QEMU, avec un format déclaratif fourni pour la prise en charge des ABI
  • En tant que projet open source, scripting facilité, avec wrappers Python et TypeScript fournis

Usage gratuit et premium par rapport à l’open source

  • Le framework rev.ng est entièrement open source, avec décompilation possible via la CLI
  • L’UI peut être utilisée gratuitement dans le cloud pour les projets publics, tandis qu’un abonnement est requis pour les projets privés
  • Une UI entièrement autonome peut être exécutée hors ligne via l’achat d’une licence

Utilisation dans le cloud rev.ng

  • Création de projets et invitation de collaborateurs possibles via rev.ng Hub
  • L’UI s’exécute dans le navigateur, tandis que le backend s’exécute dans le cloud
  • Les projets publics sont gratuits, les projets privés nécessitent un abonnement
  • Il est possible de discuter de l’installation d’un service de cloud privé

Feuille de route

  • Une feuille de route détaillée est fournie jusqu’à la sortie de la version 1.0
  • La feuille de route est composée de 4 étapes : version alpha, version bêta, bêta ouverte, sortie de la 1.0
  • La feuille de route détaillée est consultable sur la page dédiée

Contact et moyens de rester informé

  • Contact et informations via X/Twitter, Discord, Discourse, GitHub, la newsletter mensuelle et l’e-mail

L’avis de GN⁺

  • Le passage en open source de rev.ng constitue une avancée importante susceptible de favoriser la collaboration et le partage des connaissances dans les domaines du génie logiciel et de la sécurité.
  • L’ouverture en open source du décompilateur permet aux utilisateurs de modifier et d’améliorer librement le code, rendant possible une innovation portée par la communauté.
  • L’UI cloud de rev.ng correspond bien à l’environnement de travail moderne, où le travail à distance et la collaboration prennent une importance croissante.
  • Malgré son caractère open source, le fait de proposer des fonctionnalités premium afin de bâtir un modèle de revenus peut constituer un bon exemple pour d’autres projets open source.
  • Parmi les autres projets open source offrant des fonctionnalités similaires, on peut citer Ghidra et Radare2, qui peuvent eux aussi être envisagés comme de puissants outils de reverse engineering.
  • Lors de l’adoption de rev.ng, il faut prendre en compte l’étendue des architectures et ABI pris en charge, avec l’avantage de pouvoir bénéficier du support de la communauté open source.

1 commentaires

 
GN⁺ 2024-03-31
Avis Hacker News
  • Résumé du modèle tarifaire :

    • Le framework rev.ng est entièrement open source, et il est possible de décompiler ce que l’on veut depuis le CLI.
    • L’interface utilisateur est proposée sous les formes suivantes :
      • Pour les projets publics, utilisation gratuite dans le cloud.
      • Pour les projets privés, utilisation dans le cloud via un abonnement.
      • Achat possible sous forme d’application totalement autonome et utilisable hors ligne.
    • À titre de comparaison, Hopper propose un an de mises à jour pour 100 USD, tandis que Ghidra et Radare2 sont entièrement gratuits en FOSS, et IDA Pro est très cher.
  • Résumé de l’avis sur l’équipe :

    • Il est un peu étrange que le CEO (aleclearmind) fasse bien plus de commits que le CTO (pfez).
    • La plupart des CEO se plaignent de ne pas avoir le temps de coder, mais dans ce cas le CEO participe beaucoup au développement.
    • Si cette façon de faire fonctionne, cela doit être très agréable pour l’équipe.
  • Résumé du problème de compatibilité avec les fichiers ELF :

    • Un utilisateur a essayé d’analyser un fichier ELF, mais rev.ng ne semble pas prendre en charge les binaires FreeBSD ni les modules du noyau.
    • Il est possible que cela n’ait rien à voir avec FreeBSD, mais plutôt avec le fait qu’il ne s’agisse pas d’un simple exécutable.
  • Résumé de l’évaluation positive de l’entreprise :

    • L’entreprise a été fondée grâce à l’un des meilleurs livres sur la PLT (Programming Language Theory).
    • Les cofondateurs de l’entreprise se sont rencontrés grâce à ce livre, qui a servi de base à la société.
  • Résumé de la proposition :

    • Suggestion d’une idée consistant à attribuer automatiquement des noms en fonction de la manière dont le code interagit avec les variables et les membres de structures.
    • Il s’agirait de télécharger tout le code de GitHub, de trouver des variables ayant une disposition et des interactions similaires, puis d’utiliser ce nom lorsque le niveau de confiance est suffisant.
  • Résumé des attentes concernant le workflow collaboratif :

    • L’utilisateur n’a pas essayé des outils comme ceux de l’équipe IDA, mais espère une expérience de reverse engineering aussi fluide que Google Docs.
  • Résumé de l’intérêt pour la version autonome :

    • L’utilisateur souhaite essayer la version autonome et attend des informations sur le prix.
    • Il espère un tarif suffisamment raisonnable pour un usage de loisir.
  • Résumé de la réaction positive aux outils de binary hacking :

    • L’utilisateur se réjouit de la sortie d’un nouvel outil de binary hacking.
    • Il formule plusieurs suggestions concrètes sur les formats de packaging.
  • Résumé rétrospectif sur l’externalisation du QEMU TCG :

    • Quelqu’un demande s’il y a des regrets à avoir externalisé le « lifting » en s’appuyant sur le QEMU TCG.
    • Il sollicite des avis sur l’efficacité de cette approche.