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