当前位置:  开发笔记 > 编程语言 > 正文

有C++反编译器吗?

如何解决《有C++反编译器吗?》经验,为你挑选了4个好方法。

我有一个程序,我丢失了C++源代码.那里有没有好的C++反编译器?

我已经跑过Boomerang了.



1> David Holm..:

您可以使用IDA Pro的由六角光芒.除非编译好调试信息,否则通常不会从二进制文件中获得好的C++.准备花费大量的手工劳动来扭转代码.

如果您没有删除二进制文件,那么就有一些希望,因为IDA Pro可以为您提供类似C代码的代码.通常它非常粗糙,至少在我几年前使用它时.


澄清一下,IDA只会给出反汇编.它有一个名为Hex-Rays的附加组件,可以将其余部分反编译为C/C++源代码,尽可能的程度.
SNOWMAN是一个很好的免费c ++反编译器
就我阅读文档而言,十六进制射线仅输出C(如伪代码)。并不是说它对反编译C ++毫无用处,您只需要稍微了解一下编译器如何转换C ++结构即可。

2> Dustin Getz..:

信息在编译过程中被丢弃.即使反编译器可以使用类和所有内容(它可能不能)生成逻辑等效代码,自编档部分也会在优化的发布代码中消失.没有变量名,没有例程名,没有类名 - 只是地址.


该计划的"灵魂"已经消失,只是它以前自我的空壳..."

3> m_pGladiator..:

是的,但是没有一个能够产生足够可读的代码来值得付出努力.您将花费更多时间尝试使用汇编程序块读取反编译源,而不是从头开始重写旧应用程序.



4> Ferruccio..:

我还没有看到任何生成C++代码的反编译器.我已经看到了一些实验性的尝试生成C代码的合理尝试,但它们往往依赖于匹配特定编译器的代码生成模式(可能已经改变,自从我上次研究这个以来已经有一段时间了) ).当然,任何符号信息都将消失.谷歌为"反编译".

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有