可以反编译SQL Server CLR存储过程程序集吗?

5

我们有一些内部专有的 CLR 存储过程(MSSQL 2005),这些存储过程是由前雇员组合而成的,但他没有把用于构建程序集的 .NET 源代码归档(也没有检入)。这些程序集没有进行混淆。

能否将程序集反向工程到一个可以编辑源代码并重新编译的状态?


2
你尝试过在它上面使用反编译器Reflector吗?它通常很擅长反编译。 - cdhowie
3个回答

5

4
"Obtusified?" 我不知道萨拉·佩林在SO上! +1(说明:原文中的“SO”可能指的是Stack Overflow,+1表示对之前所说的内容表示同意或赞同。) - Dave Markle
1
当然!实际上,我从来没有找到过那个词的正确用法。 :P - user2043
非常感谢您的帮助,但我还有一个问题。我已经使用此处找到的方法(http://serverfault.com/questions/139703/extracting-a-sqlclr-assembly)从服务器中提取了DLL文件,但是当我在Reflector中打开它时,它显示“对象引用未设置为对象的实例”。它可以正常打开我编译的任何其他.NET程序集。您有什么想法吗? - Dane
消息后面还有其他的堆栈跟踪信息吗? - user2043

0

0
一旦您将装配提取为DLL,就可以使用开源ILSpy进行反编译。当编译时使用的所有编译器选项都无法看到,也无法看到源代码是如何分解成单独的文件的。不过,您仍然可以看到足够的信息,以便创建Visual Studio项目,创建Properties\AssemblyInfo.cs文件,添加引用等,以便您能够正确地将其添加到源控制中,然后开始编辑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接