# Using IlSpy

## Downloading IlSpy

{% embed url="<https://github.com/icsharpcode/ILSpy/releases>" %}

Go to the above link here, go to the latest release, and install one of the "<mark style="color:blue;">ILSpy\_Installer\_</mark>" files in whatever format you wish.&#x20;

<figure><img src="https://1229800202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQAkTlyeVttU3CJdmYk%2Fuploads%2FO6MtHOUyYUkAuyJRZnb6%2Fimage.png?alt=media&#x26;token=75d7e9b3-f08f-4f71-aaba-c99d68d6565f" alt=""><figcaption><p>One of the highlighted ones. .msi is a "Microsoft Installer" file. Or if you understand the difference between any of these just do what you want.</p></figcaption></figure>

Extract the zip or run the installer depending on what you downloaded. Find the extracted files and run the exe.

If you get an error that's along the lines of "Target Network not found",  head to the [.NET website](https://dotnet.microsoft.com/en-us/) and install the framework required.

## Using IlSpy

You should be met with a screen like below when opening the program:

<figure><img src="https://1229800202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQAkTlyeVttU3CJdmYk%2Fuploads%2F3G0Mrp9YIPw1CcoGHBpm%2Fimage.png?alt=media&#x26;token=5b95817e-922d-4678-b30a-214ea8a5f2db" alt=""><figcaption></figcaption></figure>

Navigate to wherever your Gungeon files are stored, and head to&#x20;

<mark style="color:yellow;">**Enter the Gungeon\EtG\_Data\Managed\Assembly-CSharp.dll**</mark>

and then drag the dll onto the pane on the left to open the file.

<figure><img src="https://1229800202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQAkTlyeVttU3CJdmYk%2Fuploads%2FWJUqEbnIdH9vEGzplX0I%2Fimage.png?alt=media&#x26;token=9aade67b-babb-4ac3-9a0b-b9628ee8b52c" alt=""><figcaption></figcaption></figure>

Classes appear on the left organized by namespace. Search by clicking the Magnifying glass int he tool bar (or <mark style="color:purple;">**Ctrl + Shift + F**</mark>). In the search pane you can search for specific kind of items (e.g. Class, Method, etc) using the "Search For" filter:

<figure><img src="https://1229800202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQAkTlyeVttU3CJdmYk%2Fuploads%2FRxhIgJM5LOe4mtoVRiY5%2Fimage.png?alt=media&#x26;token=f97a80a8-c222-4167-8621-b6818429847b" alt=""><figcaption></figcaption></figure>

To navigate to a definition click the name of the method or field in the code window.

To find where something is used in the code, right click and select "<mark style="color:orange;">**Analyze**</mark>":

<figure><img src="https://1229800202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQAkTlyeVttU3CJdmYk%2Fuploads%2FEJB4tgyr7caL5YUW8iZg%2Fimage.png?alt=media&#x26;token=97245e7d-4b69-4c12-90cb-41d7ec26b6a7" alt=""><figcaption></figcaption></figure>

The Analyzer pane will show various options such as Used By, Referenced By, Read By etc. depending on the kind of thing (<mark style="color:blue;">**Class**</mark>, <mark style="color:yellow;">**Method**</mark>, **Field**):

<figure><img src="https://1229800202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQAkTlyeVttU3CJdmYk%2Fuploads%2FXIbhrQ2xJSfmJejqes6t%2Fimage.png?alt=media&#x26;token=6664fc80-2346-4694-ac88-97b0104e8012" alt=""><figcaption></figcaption></figure>
