Senhoras e Senhores,

Acredito que muitos de vocês em algum momento de sua carreira já precisou reverter um binário para código fonte?

A uns anos atrás escrevi um artigo sobre o tema no meu blog pessoal: https://pablojuancruz.wordpress.com/2013/07/22/engenharia-reversa-csharp/

 

Hoje estou passando para complementar o assunto e mostrando uma ferramenta, que vai facilitar a nossa vida.

Clique na imagem para ampliar

Clique na imagem para ampliar

 

O nome dela é ILSPY.

O Link de Download é: http://ilspy.net/

Uma ferramenta OpenSource(https://github.com/icsharpcode/ILSpy) para engenharia reversa de código .NET.

É tão simples que o download nem tem instalação é apenas uma pasta com as dlls necessárias e um .exe.

A interface dele lembra bastante o ILDASM veja:

Clique na imagem para ampliar

Clique na imagem para ampliar

Para o exemplo vou mostrar o código do minicurso ministrado recentemente pelo meu amigo Renato Groffe sobre BDD.

Clique na imagem para ampliar

Clique na imagem para ampliar

Vou simplesmente arrastar a dll para o ILSPY e vamos ver o que ele tem a nos dizer!

Clique na imagem para ampliar

Clique na imagem para ampliar

 

Simplesmente cliquei na dll e arrastei ao ILSPY, tem a opção de abrir o arquivo também, caso não queira clicar e arrastar.

Agora vamos expandir:

Clique na imagem para ampliar

Clique na imagem para ampliar

Veja que ele mostra todas as classes presentes na DLL para exemplificar mostrei uma DLL simples com apenas uma classe vamos clicar nela para ver o que temos.

Clique na imagem para ampliar

Clique na imagem para ampliar

 

Pronto aí estar simples e rápido ele desvendou todo o meu código através do meu binário.

E não importa se é .exe ou .dll.

 

Outra parte da ferramenta que achei interessante é o open from GAC.

Clique na imagem para ampliar

Clique na imagem para ampliar

O que é GAC?

Cada computador onde o common language runtime está instalado tem um cache de código de máquina chamado global assembly cache. O cache de assembly global armazena assemblies projetados especificamente para serem compartilhados por vários aplicativos no computador.

Clicando em open from gac conseguimos pesquisar e abrir qualquer dll do framework .net para fazer engenharia reversa.

Clique na imagem para ampliar

Clique na imagem para ampliar

Enfim é isso se você não sabe nada sobre engenharia reversa leia o meu post de 2013 e pra quem já sabe sobre o assunto e não conhecia a ferramenta segue a dica.

Comentem nesse post para compartilhar as suas experiências com engenharia reversa.

Por Hoje é só. Até a próxima.

Qualquer dúvida, crítica e/ou sugestão envie e-mail para [email protected]

 

Microsoft Student Partner

Participante do 1º torneio de robótica educativa e iniciação científica Centro Paula Souza e Lego Education Brazil, Formado como técnico em informática com ênfase em programação também pelo Centro Paula Souza. Atualmente estuda na FIAP. Apaixonado por tecnologia e disseminação de conhecimento. Atua há 6 anos na área de tecnologia da informação, com linguagens como:C#, NODEJS, JavaScript,Delphi e Java.

“Que o teu orgulho e objetivo consistam em pôr no teu trabalho algo que se assemelhe a um milagre”
Leonardo da Vinci.

Comentários

comentarios