2010-08-19 58 views
1

我有一個用C#編寫的應用程序。它已經被編譯。如何解壓/編譯dll文件?

這裏有很多的dll文件,我無法打開它們,反編譯它們看不到並訪問構建它們的C#代碼,當我在Visual Studio中添加對dll文件的引用時,我只能看到有哪些方法,但我看不到/訪問這些方法的代碼。

有沒有工具或有辦法如何查看/訪問該代碼,修改它,然後重新編譯它?

請如果你有一個想法給我一隻手!

感謝

回答

6

要做到這一點,最簡單的方法是通過Reflector - 它並不完美,但會給你一個好主意。

它可以選擇一個程序集並將其顯示在IL,vb.net或C#中。您可以將結果複製/粘貼到Visual Studio中並使用您的更改進行編譯。

因爲它適用於原始優化的IL,所以類似foreach循環可能最終會作爲標籤和變量名稱和變量名稱最終成爲無效的C#/ vb.net變量名稱(儘管它們是有效的IL)。

我已經使用過它,最大的問題是重建foreach循環,儘管模式在其中的幾個變得明顯,變量名稱可以通過搜索/替換進行更改。