【问题标题】:How do you extract source code from a dll file? [closed]如何从 dll 文件中提取源代码? [关闭]
【发布时间】:2012-01-10 19:08:57
【问题描述】:

是否可以从使用 Java 或 C++ 或 C 或 Python 或其他语言创建的 dll 文件中提取源代码?

我正在使用 .NetReflector 提取使用 C# 或 VB.net 创建的源代码。

如果是,请告诉我工具的名称或告诉我该怎么做。

谢谢。

【问题讨论】:

  • Java 不生成 dll 文件。您也确实了解 .NET dll 与 C 或 C++ dll 完全不同,对吧?你有没有先做这方面的功课?
  • 可以肯定有很多反编译器。
  • Python:UnPyc; .NET:反射器; C++ / C:运气; Java:法学博士。
  • 您在此处查找的关键字是“反编译器”。您需要更具体地说明您正在使用哪个运行时,我相信精心制作的谷歌搜索会很好:bit.ly/zOU6mO
  • 你的问题真的很模糊,而且你列出的语言在反编译的难易程度和结果的质量上会有很大的不同。此外,这将有助于了解您打算如何处理源代码。

标签: c# java .net dll


【解决方案1】:

DLL 是编译后的代码。您可以使用工具对它们进行反编译并获得编译器优化的代码,但您无法获得原始代码,因为它是在编译之前编写的。

【讨论】:

    【解决方案2】:

    .NETReflector 用于 .NET,并使用反射来分析 .NET 程序集。对于从 C 或 C++ 编译的可执行文件或库,您将很难获得编译它的实际源代码,因为可执行文件/库是......好吧,就是可以执行的机器代码。这与 C# 和 Java 等中间语言发挥作用的语言有很大的不同。

    【讨论】:

      【解决方案3】:

      在 Java 反射器上发帖:Reflector for Java?

      在 C++ 反射器上发帖:Is there any concept in c++ like reflector in .Net?

      还有 .NETReflector 的插件。退房:http://reflectoraddins.codeplex.com/。更具体地说,有一个 C++ 插件。这是直接链接:http://www.sandpapersoftware.com/Main/Reflector.html

      【讨论】:

        猜你喜欢
        • 2011-06-10
        • 1970-01-01
        • 1970-01-01
        • 2011-08-21
        • 1970-01-01
        • 2011-07-03
        • 1970-01-01
        • 2014-12-27
        • 2017-01-26
        相关资源
        最近更新 更多