軟件介紹Reflector特別版是一款非常實用的.net反編譯工具。Reflector中文版是由微軟員工Lutz Roeder編寫,你可以瀏覽程序集的類和方法,分析程序集并向你展示它的所有秘密。 Reflector綠色官方版的主要用途其實就是進行兩種編程語言之間的轉換,在.NET編程過程中,對語言的反編譯是非常有難度也很麻煩的事情,而軟件就很好地解決了這一問題,正好有編程方面需求的小伙伴們,可以在本站下載Reflector漢化版試試喲~ 軟件特色Reflector綠色官方版能夠將C#, Visual Basic 和 IL程序反編譯成匯編程序進行分析查看。即使沒有用在反編譯領域,也常常被用來檢查程序集的命名規范,命名空間是否合理,組織類型的方法是否需要改善等方面。可惜,Reflector很早就轉向收費軟件了,需要購買許可才可以使用。對于那些恥于用盜版的朋友,通常會選擇放棄。小編這里給大家帶來免費注冊版本供大家體驗,誰叫大家一提到.NET反編譯,Reflector常常是默認的首選工具呢! .NET 框架向全世界引入了可用來分析任何基于 .NET 的代碼(無論它是單個類還是完整的程序集)的反射概念。反射還可以用來檢索有關特定程序集中包含的各種類、方法和屬性的信息。 軟件功能全面支持.NET 2.0、.NET 3.0、.NET 3.5和.NET 4.0Windows Shell集成–運行Reflector.exe /寄存器,注冊文件擴展名NET 2.0、.NET 3.0、.NET 3.5、.NET 4.0、Compact Framework 2.0、Compact Framework 3.5、XNA框架、銀光(Silverlight)、Mono以及托管代碼Direct X的程序集列表點擊源代碼的導航 找出公開的或實例化的類型 擴展方法 Linq查詢表達式支持 Lambda表達式支持 匿名方法和可空類型支持 擴展方法支持 上下文相關的文檔視圖 找出虛擬方法重寫 代碼URL支持——在瀏覽器中導航至代碼:/ / mscor lib / system.object挖掘程序集中的資源 Reflector特別版激活方法1.下載安裝原程序,然后運行 Reflector.exe 2.運行注冊機,點擊 Generate 獲得序列號 3.把序列號填寫到 Reflector 軟件上 4.斷開網絡,點擊 Activate 激活 5.提示說無法連接服務器,點擊手動激活 Manually Activate 6.拷貝 Reflector 左側的一大堆請求字符串,粘貼到注冊機左側框框,會自動計算注冊碼 7.拷貝注冊機右側的注冊信息,粘貼到 Reflector 右側,激活完成 8.激活之后,最好關閉自動更新之類的設置! .NET Reflector開發人員可以使用它反編譯.NET代碼,以了解它是如何工作的,學習或指導.NET語言的復雜性,提供一個更好的替代庫的文檔,恢復丟失或不可用的源代碼,定位性能問題,分析依賴關系,檢查混淆 支持.NET1.0, 2.0,.NET 3.5,.NET 4.0等 還記得Spy++嗎?在Win32時代,這個軟件對于我們分析一個陌生軟件的設計思路可謂立下汗馬功勞。在如今的.NET時代,Reflector又成為每個嚴肅的.NET開發人員工具箱中必不可少的精髓工具之一。 Reflector綠色官方版安裝教程1.從本站直接下載Reflector,解壓并運行。如下圖所示: 2.閱讀并同意Reflector軟件安裝協議,如下圖所示: 3.設置Reflector軟件安裝目錄,如下圖所示: 4.等待程序安裝完畢,點擊【Finish】即可,如下圖所示: Reflector漢化版使用技巧下載安裝Reflector,安裝好后,如下圖所示。這個也有免安裝版的。 運行軟件,會出現如下界面,如下圖: 選擇file中的open Assembly,這個表示打開選擇你需要反編譯的程序,如下圖紅色框標示: 選擇你需要反編譯的exe程序,如下圖所示,選擇好后點擊,確定。 選擇好后,在左側會出現選擇的文件,如下圖紅色框標示。 郵件exe程序,選擇export source code,這個過程表示開始反編譯了。如下圖所示: 選擇存儲源碼的路徑,如下圖所示: 點擊start,即得到反編譯源碼,如下圖所示: 常見問題枚舉問題 為了代碼可讀,可能需要花點時間查閱metadata把int值修改回枚舉值,尤其是想利用窗體設計器的,VS2008可能還不理解int值。 屬性問題 比如一個叫Names的屬性被反編譯后,可能還原為的set_Names(names),get_Names()方法,逐個替換可能很慢,可采用正則表達式整體替換。 對于set_Xxx(xxx)方法,可替換 set_{[a-z]*}/( 為 /1 = ( 對于get_Xxx()方法,可替換 get_{[a-z]*}/(/) 為 /1 然后,再修復個別被誤換的方法。 委托和回調函數問題 一般會被還原為add_Xxx(MethodsName)方法,需要改為 += MethodsName 資源問題 需要使用.Net Framework SDK 下的 resgen.exe 工具,反編譯嵌入資源文件*.resources為*.resx文件, 語法為:ResGen.exe *.resources *.resx,然后將*.resx包含入項目,就會自動和同名的窗體文件*.cs關聯,如果沒有關聯可采用先排除再添加大法,一一搞定。 命名空間問題 如果需要切換到IDE的窗體設計器,而不出錯,則還需要在*.cs中添加比如System.Windows.Forms的命名空間前綴。 窗體設計器識別問題 需要把以下代碼 ComponentResourceManager manager = new ComponentResourceManager(typeof(ClassName));替換為System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClassName)); 窗體設計器才能正常識別。 其它的還有base.FormBorderStyle = FormBorderStyle.None; 要改為 base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 還有this.components = new Container();要改為this.components = new System.ComponentModel.Container(); base.AutoScaleMode = AutoScaleMode.Dpi;改為base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; base.FormBorderStyle = FormBorderStyle.None;改為base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 更新日志1.對部分功能進行了優化 2.解了好多不能忍的bug |