Le décompilateur C / C ++ traduit les programmes, aucun code source n'est nécessaire

Avec un nouveau décompilateur pour C / C ++, les développeurs peuvent avoir un aperçu du fonctionnement d'un programme sans regarder le code source. C'est le plan de Snowman, que le développeur principal du projet espère rapprocher d'un LLVM pour la décompilation.

Snowman décompile du code machine en C avec un support mineur pour C ++, et le code source devrait être publié dans plusieurs mois, a déclaré le développeur en chef Yegor Derevenets, un étudiant universitaire en Allemagne, dans une réponse par courrier électronique aux questions.

La technologie est «hautement modulaire», a déclaré Derevenets. «Il est basé sur une bibliothèque de décompilation qui peut être facilement intégrée dans d'autres systèmes. À titre d'exemple, nous fournissons trois applications qui l'utilisent: un décompilateur de ligne de commande, un décompilateur GUI et un plug-in de désassembleur IDA. Espérons que, après la publication de son code source, Snowman deviendra éventuellement le LLVM pour la décompilation.

«Le but d'un décompilateur est de traduire des programmes dans une représentation de bas niveau, comme le code machine ou le bytecode, en programmes dans un langage de programmation de haut niveau, comme C, C ++ ou Java et C #», a déclaré Derevenets. «Une telle traduction peut être utile pour les personnes qui essaient de comprendre comment un programme de bas niveau fonctionne sans avoir accès à son code source: ingénieurs en sécurité, analystes viraux, mainteneurs d'anciens systèmes dont le code est perdu.»

La version 0.0.5 actuelle de Snowman comprend l'édition de code C / C ++, la refactorisation, la navigation dans le code et des améliorations des performances de l'interface graphique. Six versions ponctuelles ont été publiées depuis juin, dont une version mi-octobre avec un plug-in pour le désassembleur IDA.