ILSpy是一款非常不錯(cuò)的NET反編譯工具,它不需要任何安裝,這意味著它可以保存到您的便攜式應(yīng)用程序集合中,復(fù)制到 USB 閃存驅(qū)動(dòng)器,并且可以在任何PC上使用而無(wú)需設(shè)置來(lái)瀏覽和檢查 .NET 程序集。有需要的小伙伴歡迎來(lái)西西下載。
軟件特征:
盡管有許多類似的工具可供使用,但 ILSpy 非常易于使用以及免費(fèi)和開源。它不需要任何安裝,這意味著它可以保存到您的便攜式應(yīng)用程序集合中,復(fù)制到 USB 閃存驅(qū)動(dòng)器,并且可以在任何PC上使用而無(wú)需設(shè)置來(lái)瀏覽和檢查 .NET 程序集。
使用此工具仔細(xì)查看.NET程序集
主應(yīng)用程序窗口具有清晰的布局,分為兩個(gè)主窗格:用于瀏覽 .NET 程序集樹以及仔細(xì)查看任何選定項(xiàng)目。它可以檢查 DLL,EXE 和 WINMD 文件(Windows 元數(shù)據(jù))。可以從 GAC 加載數(shù)據(jù),也可以打開 Nuget 包。
ILSpy 能夠使用 C# 在 C#,IL 和 IL 中呈現(xiàn)代碼。對(duì)于 C#,您可以選擇 C#1.0/VS .NET 到 C#7.2/VS 2017。例如,您可以查看資源和引用,查看表以及將信息提取到文件。
使用 C# 在 C#,IL 和 IL 中呈現(xiàn)代碼
由于該程序僅用于查看目的,因此無(wú)法進(jìn)行文件修改。另一方面,您可以在查找類型,成員,方法,字段,屬性,事件,常量或元數(shù)據(jù)標(biāo)記時(shí)利用搜索功能。
可以配置多個(gè)反編譯器設(shè)置,例如使用調(diào)試符號(hào)中的變量名稱,刪除無(wú)死區(qū)和副作用的代碼,或者在反編譯后擴(kuò)展成員定義。此外,您可以自定義字體并允許多個(gè)實(shí)例。
考慮到所有方面,IlSpy 盡可能簡(jiǎn)單地反編譯 .NET 程序集,看看是什么讓軟件變得簡(jiǎn)單。由于它是開源的,開發(fā)人員可以隨意修改和使用其代碼。
更新日志:
ILSPY 5.0版
新的語(yǔ)言特點(diǎn)
C'35;8.0:可為空的引用類型
C'35;7.3:非托管泛型約束
索引可移動(dòng)的固定緩沖區(qū):固定緩沖區(qū)可以索引到,而不必首先固定。
使用不安全的內(nèi)部函數(shù)來(lái)表示不能用C'35;表示的IL操作。
通用異步返回類型
C'35;7.0本地函數(shù)(\35;1586)
C'35;7.0拋出表達(dá)式('35;1600)
新功能
將一組程序集反編譯為解決方案(\35;1550by@dymanoid)
新的BAML反編譯程序
msixformicrosoftstore:@onovotny添加了構(gòu)建支持(包括azure管道)。
如果方法被標(biāo)識(shí)為windows窗體initializecomponent,則生成與windows窗體設(shè)計(jì)器兼容的代碼
添加了新的removedeadstores選項(xiàng)。
添加了新的AlwaysShowEnumMemberValues選項(xiàng)。
反編譯引擎的改進(jìn)和錯(cuò)誤修復(fù)
改進(jìn)了反編譯程序和反匯編程序?qū)o(wú)效元數(shù)據(jù)標(biāo)記的穩(wěn)定性。
在不是所有類型/引用都可用的情況下改進(jìn)了反編譯。
為空字符串添加了打開字符串模式。
添加對(duì)ReadOnlySpan<t>初始化模式的支持
改進(jìn)了refreadonly委托和返回類型的反編譯。
改進(jìn)了反編譯或ref類型的表達(dá)式,特別是ref/in擴(kuò)展方法和in參數(shù)。
改進(jìn)了對(duì)單收益返回狀態(tài)機(jī)和閉包類型的支持。
改進(jìn)的linq查詢反編譯
pdb生成器現(xiàn)在可以發(fā)出異步的方法步進(jìn)信息
改進(jìn)和錯(cuò)誤修復(fù)
許多小錯(cuò)誤和穩(wěn)定性修復(fù)。
改進(jìn)了線性化步驟的性能
vsix:修復(fù)缺少依賴項(xiàng)的問(wèn)題
用戶界面改進(jìn)
在樹視圖中還原保存的位置時(shí),避免在等待程序集加載時(shí)阻塞ui
在TreeView和Search中支持混淆的名稱\35;1359
在IL視圖中轉(zhuǎn)義不可打印字符
重做C\35;反編譯器選項(xiàng)對(duì)話框(統(tǒng)一語(yǔ)言設(shè)置面板)
使縮進(jìn)或反編譯代碼可配置。
@maikebing(\35;1299)截圖中文翻譯
@mcpiroman對(duì)搜索面板的小改進(jìn)(\35;1476)
如果無(wú)法分析實(shí)體而不是崩潰,則顯示錯(cuò)誤消息。
反編譯器視圖中改進(jìn)的鏈接:
方法組/委托引用
通過(guò)單擊左/右括號(hào),可以訪問(wèn)屬性的構(gòu)造函數(shù)。
固定字段現(xiàn)在已正確鏈接
添加了匹配的斷開突出顯示
更新為Avalonedit6.0預(yù)覽版
觸摸式ILSPYCMD工具
添加-d'1244;-debuginfo選項(xiàng)參見(jiàn)演示應(yīng)用程序
添加-r'124th;-referencepath選項(xiàng)
架構(gòu)更改
我們放棄了對(duì)除netstandard2.0\35;1416以外的所有tfm的支持
重新激活舊反編譯器中的許多測(cè)試
已知問(wèn)題和限制
C'35;8.0可為空的引用類型元數(shù)據(jù)僅支持最新格式。請(qǐng)注意,這是一個(gè)中斷性更改,不支持由較舊的C\358;預(yù)覽版本生成的程序集。(見(jiàn)\35;1619(評(píng)論))
還不支持泛型本地函數(shù)
從GAC打開程序集可能需要管理員權(quán)限
匹配括號(hào)突出顯示尚不支持引入新語(yǔ)法的所有語(yǔ)言功能。