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