有什么软件可以执行此操作吗?我在互联网上没有找到任何有用的信息,所以我在这里问。

有帮助吗?

解决方案

您无法获得确切的代码,但是您可以得到它的分解版。

最受欢迎(也是最好的)工具是 反射器, ,但是还有其他.NET分解器(例如 )。您也可以使用 iLdasm, ,它与.NET Framework SDK工具捆绑在一起。

其他提示

仅托管语言 c#Java 可以完全分解。您可以查看完整的源代码。为了 Win32 dll 您无法获得源代码。

对于CSHARP DLL利用 dotpeek 它是免费的,与 Redgate .NET编译器

玩得开心。

利用 .NET反射器.

利用 dotpeek

enter image description here

选择 .dll 进行编译

enter image description here

而已

您可以使用 反射器 并使用 加入 FileGenerator 将源代码提取到项目中。

使用折射器。从 这里.

  1. 安装后打开软件。
  2. 按CTRL + O,然后选择您的DLL文件。
  3. DLL将显示在左窗格中。
  4. 右键单击DLL,然后选择“导出源代码”。
  5. 选择要导出文件的文件夹
  6. 等待一会儿可能需要2-3分钟

enter image description here

如果您只想知道DLL组件中的一些基础知识,例如类别,方法等

您可以使用Microsoft提供的IL拆卸器工具。

通常位于:“ C: Program Files(X86) Microsoft SDKS Windows v7.0a bin”

我用了 折射剂 从DLL文件中恢复我的脚本/代码。

您可以使用 dotpeek我唯一要说的是,在使用它时,请右键单击“选择分配源”而不是双击,否则Dotpeek只会显示本地CS文件的内容,而不是分析内容的内容。选项实例

 var destinationfilename = "";
        if (System.IO.File.Exists("nameoffile.dll"))
        {
          destinationfilename = (@helperRoot + System.IO.Path.GetFileName(medRuleBook.Schemapath)).ToLower();
          if (System.IO.File.Exists(destinationfilename)) System.IO.File.Delete(destinationfilename);
          System.IO.File.Copy(@'nameoffile.dll", @destinationfilename);
        }
        // use dll-> XSD
        var returnVal =
          await DoProcess(
            @helperRoot + "xsd.exe", "\"" + @destinationfilename + "\"");
        destinationfilename = destinationfilename.Replace(".dll", ".xsd");
        if (System.IO.File.Exists(@destinationfilename))
        {
          // now use XSD
          returnVal =
            await DoProcess(
              @helperRoot + "xsd.exe", "/c /namespace:RuleBook /language:CS " + "\"" + @destinationfilename + "\"");
          if (System.IO.File.Exists(@destinationfilename.Replace(".xsd", ".cs")))
          {
            var getXSD = System.IO.File.ReadAllText(@destinationfilename.Replace(".xsd", ".cs"));

          }
        }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top