Discover the secrets of .NET applications with ILSpy, the essential tool for developers. This free, open-source decompiler transforms compiled .NET assemblies into readable C# code or IL (Intermediate Language), unlocking a world of insights. Perfect for exploring third-party libraries or recovering source code, ILSpy is your gateway to understanding and mastering .NET applications.
What is ILSpy?
ILSpy is a free and open-source .NET assembly browser and decompiler. It's designed to help software developers understand and analyze the inner workings of compiled .NET applications. By converting executable files back into readable C# or IL (Intermediate Language) code, ILSpy aids in debugging and exploring the functionality of .NET assemblies. It's especially useful for examining third-party libraries or recovering lost source code. As a tool, ILSpy is valued for its user-friendly interface and capability to provide insights into the complex structure of .NET applications.
Keep in mind that, for the moment, ILSpy offers a read-only version of files, meaning that it cannot recompile the code if you want to make modifications.
What are the key features of ILSpy?
C#/IL decompilation: It's like having a translator for your code. ILSpy can take compiled assemblies and translate them back into readable C# code or IL (Intermediate Language). It's always improving in language support, making it a versatile tool for developers.
Project-wide decompile: Imagine being able to decompile an entire project at once. That's what ILSpy offers. This is incredibly useful for understanding large codebases or recovering lost source code.
Frontend support: Aside from the WPF UI ILSpy, many other frontends are available, like Visual Studio 2022 shipped with decompilation support, Visual Studio 2019, and more. They even provide free extensions for different environments.
Advanced search functionality: Looking for a specific type, method, or property in your code? ILSpy has a robust search feature that makes finding what you need a breeze.
Hyperlink navigation: Navigating through code is super easy with ILSpy's hyperlink-based system. Just click on types, methods, or properties to jump directly to their definitions.
Type hierarchy exploration: This feature is like a family tree for your code. You can easily explore base and derived types, as well as view your navigation history. It's great for understanding relationships in complex codebases.
Assembly metadata explorer: For those who need to dive deep into the assembly metadata, ILSpy has a dedicated explorer. It's like having a detailed map of the inner workings of your assemblies.
BAML to XAML decompiler: Even if you're working with WPF, ILSpy can convert Binary Application Markup Language (BAML) back into readable XAML, which is super handy for UI development and analysis.
Support for ReadyToRun binaries: With the advent of .NET Core, ReadyToRun binaries have become important. ILSpy supports these, making it a future-proof tool for modern .NET applications.
Plugin extensibility: The tool is not just limited to its built-in features. It's like a Swiss Army knife; you can add more tools (plugins) to fit your specific needs, enhancing its capabilities.
Extra features for developers (DEBUG builds): For the developers out there, ILSpy includes additional features in its DEBUG builds. This is like having a secret toolkit for those who are developing and troubleshooting the tool itself.
- Portable: No installation is required, so you can easily use it from anywhere.
- Interface: As a decompiler, it offers a clean technical environment from where you can explore the different parts of the code.
How to use ILSpy?
- Unzip the ILSpy folder we provide you and run the executable file to launch ILSpy.
- Loading assemblies: To begin, load the .NET assembly you want to analyze. This can be a DLL or EXE file. Go to File > Open and navigate to the assembly file. Select it and click Open.
- Decompiling to C#: Once the assembly is loaded, it will appear in the assembly explorer on the left. Expand the assembly to see its namespaces, types, and members. Click on any type or member to view its C# source code in the main window.
- Project-wide decompilation: If you want to decompile the whole project, right-click on the assembly in the assembly explorer and choose Decompile.
- Searching code: Use the search bar at the top to find types, methods, or properties. Type your query and press Enter.
- Navigating code: Navigate through the code using hyperlinks. Click on any type, method, or property reference to jump to its definition.
- Type hierarchy and assembly metadata: Explore type hierarchies by right-clicking on a type and selecting Analyze. For assembly metadata, right-click the assembly and select Properties.
For a more complete overview of the available frontends, you can review the official dedicated section.
Is ILSpy free?
ILSpy is a 100% free, open-source solution, so go for it.
Is ILSpy safe?
Yes, ILSpy is a totally safe open-source project.