2010-08-19 137 views
1

我有一个用C#编写的应用程序。它已经被编译。如何解压/编译dll文件?

这里有很多的dll文件,我无法打开它们,反编译它们看不到并访问构建它们的C#代码,当我在Visual Studio中添加对dll文件的引用时,我只能看到有哪些方法,但我看不到/访问这些方法的代码。

有没有工具或有办法如何查看/访问该代码,修改它,然后重新编译它?

请如果你有一个想法给我一只手!

感谢

回答

6

要做到这一点,最简单的方法是通过Reflector - 它并不完美,但会给你一个好主意。

它可以选择一个程序集并将其显示在IL,vb.net或C#中。您可以将结果复制/粘贴到Visual Studio中并使用您的更改进行编译。

因为它适用于原始优化的IL,所以类似foreach循环可能最终会作为标签和变量名称和变量名称最终成为无效的C#/ vb.net变量名称(尽管它们是有效的IL)。

我已经使用过它,最大的问题是重建foreach循环,尽管模式在其中的几个变得明显,变量名称可以通过搜索/替换进行更改。