ILDASM – Intermediate Language Dissasembler este un de-compilator cu ajutorul caruia puteam accesa codul sursa dintr-un assembly. ILDASM poate analiza dll-uri sau exe-uri si le poate converti intr-o forma care poate fi citita de programator.
ILDASM este un executabil care este instalat cu Windows SDK. Se recomanda folosirea acestuia din Visual Studio (versiunea 2012, in cazul meu):
Tools – External Tools -Add, Title – ILDASM, Command – “C:\program files (x86)\microsoft sdks\windows\v7.0a\Bin\NETFX 4.0 Tools\ildasm.exe” (Win 7, x64).
Cream un nou proiect de tip Console Application, TestConsole. In metoda Main apelam:
<!-- code formatted by http://manoli.net/csharpformat/ --> <pre class="csharpcode"> <span class="kwrd">static</span> <span class="kwrd">void</span> Main(<span class="kwrd">string</span>[] args) { Console.WriteLine(<span class="str">"Hello world from console project"</span>); }</pre>
Putem examina aplicatia nou creata cu ILDASM: Tools – ILDASM.
Sa presupunem ca am pierdut fisierul sursa al aplicatiei TestConsole si totusi am vrea sa facem o modificare. Rezolvarea:
Deschidem ILDASM, cream un dump file (File-Dump) avand optiunea Dump IL Code bifata, cream un director nou si salvam fisierul cu numele TestConsole avand extensia il. Navigam cu Windows Explorer, deschidem fisierul, cautam string-ul “Hello world from console project” si il inlocuim cu “Hello planet from console project”. Recompilam din command prompt cu ajutorul comenzii: ilasm TestConsole, iar la rularea executabilului vom vedea schimbarea.