.NET - Ferramentas MSIL - Microsoft Intermediate Language : ILSPY
Neste artigo vou apresentar a ferramenta open source ILSPY que é um decompilador e analisador de assemblies para a plataforma .NET. |
A plataforma .NET é um
framework que suporta múltiplas linguagens. Isso significa que você pode
desenvolver uma aplicação utilizando diferentes linguagens compatíveis com o
.NET Framework como C#, VB.Net, F#, Iron Python e muitas
outras.
No ambiente da plataforma .NET o assembly é a unidade de distribuição para programas e livrarias de classes. Um assembly é apenas um arquivo com a extensão .exe, para programas executáveis, ou com a extensão .dll, para livraria de classes que residem em uma DLL - Dinamic Link Library.
No assembly, o código reside no formato de
uma linguagem intermediária (IL), e como
parte da execução do programa, a Common Language Runtime - CLR converte
primeiro o programa na Microsoft Intermediate Language - MSIL e, em
seguida, converte-o em um conjunto de instruções de máquina usando a Just
In-Time-compilador -JIT.
O diagrama a seguir o fluxo durante a compilação e execução de um programa na
plataforma .NET
Podemos assim visualizar o código MSIL usando ferramentas gratuitas como ILDASM, ILASM e ILSpy dentre outras.
A Intermediate Language Disassembler - ILDASM é uma ferramenta que é instalada juntamente com o Visual Studio e Windows SDK. Como o nome sugere, ele é usado para desmontar um arquivo executável portátil [.exe / .dll], que contém código MSIL. E eu já abordei a sua utilização em outro artigo.(veja as referências).
Neste artigo eu tratar da ferramenta ILSPY que pode ser obtida neste link: http://ilspy.net/
Recursos usados
:
Criando o projeto no VS 2013
A título de estudo vamos criar uma solução contendo um projeto bem simples, estilo Hello World usando a linguagem VB .NET.
Abra o VS Community 2013 e clique em New Project;
A seguir selecione Visual Basic -> Windows Desktop e o template Console Application;
Informe o nome ILSPY_Net e clique no botão OK;
Vamos a seguir criar uma aplicação Console que apenas exibe uma mensagem. Veja abaixo o código do nosso projeto exemplo:
Vamos incluir também uma classe chamada Teste() com seguinte código:
Após compilar o projeto estamos prontos para usar a ferramenta ILSpy.
No local onde você descompactou os arquivos da ILSpy clique duas vezes sobre ILSpy.exe e será aberta a seguinte janela:
Vamos abrir o arquivo do nosso projeto ILSPY_Net que foi compilado. Para isso clique no menu File e a seguir em Abrir ou Open.
Localize a pasta bin/Debug onde você criou o projeto e selecione o arquivo ILSPY_Net.exe :
A seguir, após carregar o arquivo .exe, podemos examinar o seu código conforme a figura a seguir. Note que podemos escolher em linguagem desejamos espiar o código MSIL gerado:
Assim você tem mais uma ferramenta a disposição, se não quiser usar o ILDASM e ILASM nativos da plataforma .NET para decompilar o código de projeto .NET.
Uma dos recursos mais interessantes da ILSpy é que você pode definir pontos de interrupção em assemblies (você tem que compilar o código fonte no modo de depuração).
Bom proveito...
Eu rogo por eles (os seus discípulos); não rogo pelo mundo, mas por
aqueles que me deste, porque são teus. (oração de Jesus)
João 17:9
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
https://msdn.microsoft.com/en-us/library/f7dy01k1%28v=vs.110%29.aspx
https://msdn.microsoft.com/en-us/library/496e4ekx%28v=vs.110%29.aspx