Est-il C++ decompiler?
J'ai un programme dans lequel j'ai perdu le code source C++. Il n'existe aucun bon C++ décompilation là?
J'ai déjà couru à travers Boomerang.
Vous devez vous connecter pour publier un commentaire.
J'ai un programme dans lequel j'ai perdu le code source C++. Il n'existe aucun bon C++ décompilation là?
J'ai déjà couru à travers Boomerang.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser IDA Pro par Hex-Rays. Vous ne serez généralement pas obtenir de bons C++ d'un binaire, sauf si vous avez compilé dans les informations de débogage. Se préparer à passer un beaucoup de travail manuel inverser le code.
Si vous ne coupons pas les binaires il y a peu d'espoir que l'IDA Pro peut produire C-alike code pour vous de travailler avec. Habituellement, il est très rude, très bien, au moins lorsque je l'ai utilisé il y a quelques années.
de l'information est perdue dans le processus de compilation. Même si un décompilateur pourrait produire l'équivalent logique de code avec des classes et tout (il ne peut probablement pas), l'auto-documenter la partie a disparu dans la version optimisée de code. Pas de noms de variables, pas de routine de noms, pas de noms de classe - tout d'adresses.
Oui, mais aucun d'entre eux ne parviennent à produire lisible le code nécessaire à la valeur de l'effort. Vous passerez plus de temps à essayer de lire les décompilé source avec l'assembleur des blocs à l'intérieur, que de réécrire votre ancienne application à partir de zéro.
Je n'ai pas vu toute la décompilation que de générer du code C++. J'ai vu un peu expérimental ceux qui font un effort raisonnable pour générer du code C, mais ils ont tendance à être dépendant correspondant à la génération de code des motifs d'un compilateur (qui ont peut-être changé, il a été un certain temps depuis la dernière fois que j'ai regardé cette). Bien sûr, toute l'information symbolique, aura disparu. Google pour "decompiler".
En fonction de la taille et de la qualité de l'écriture du code original a été, il pourrait être intéressant de commencer à nouveau dans la langue de votre choix (qui pourrait encore être en C++) et de l'apprentissage à partir des erreurs commises dans la dernière version. N'a pas à quelqu'un une fois dire à propos de l'écriture de l'un à jeter?
n.b. Clairement si c'est un grand produit, alors il peut ne pas être en valeur le temps.