Há um decompiler C ++? [fechadas]
-
03-07-2019 - |
Pergunta
Eu tenho um programa em que eu perdi o código fonte C ++. Há algum decompilers boa C ++ lá fora?
Eu já corri em toda Boomerang .
Solução
Você pode usar IDA Pro por Hex-Rays . Você normalmente não terá boa C ++ a partir de um binário a menos que você compilado em informações de depuração. Prepare-se para passar um muito do trabalho manual reverter o código.
Se você não tira os binários há alguma esperança como IDA Pro pode produzir código C-alike para você trabalhar. Normalmente, é no entanto muito difícil, pelo menos quando eu usei um par de anos atrás.
Outras dicas
informação é descartado no processo de compilação. Mesmo que um decompiler poderia produzir o código equivalente lógico com classes e tudo (ele provavelmente não pode), a parte de auto-documentando está desaparecido no código de liberação otimizado. Não há nomes de variáveis, há nomes de rotina, há nomes de classe -. Apenas endereços
Sim, mas nenhum deles conseguirá produzir um código bastante legível para a pena o esforço. Você vai gastar mais tempo tentando ler a fonte compilado com blocos de assembler para dentro, do que reescrever seu aplicativo de idade a partir do zero.
Eu não vi nenhum decompilers que geram código C ++. Eu vi algumas experimentais que fazem uma tentativa razoável no código C gerando, mas eles tendem a ser dependente de combinar os padrões de geração de código de um compilador particular (que pode ter mudado, já faz algum tempo desde a última vez olhei para isso ). É claro que qualquer informação simbólica será ido. Google por "decompiler".
Dependendo de como grande e como bem-escrito o código original, pode valer a pena começar de novo na sua língua favorita (que ainda pode ser C ++) e aprender com os erros cometidos na última versão. não uma vez alguém dizer sobre a escrita de um para jogar fora?
NB. Claramente, se este é um grande produto, então ele pode não valer a pena o tempo.