DEV Community

Leandro Torres
Leandro Torres

Posted on • Updated on

.Net Decompiler

Olá Devs! 👩‍💻👨‍💻

Perder um fonte não é uma preocupação que você deveria ter nos dias de hoje. Temos várias ferramentas que podem auxiliar no processo de armazenagem e versionamento de código, mesmo assim sabemos que isso pode acontecer. Caso aconteça, existe uma opção que pode ser útil. Estou falando dos "Decompilers". A ideia é simples, pegar o binário e gerar o código fonte através dele.

Pode ser utilizado também como uma forma rápida de consultar o código, sem a necessidade de pegar um fonte completo no repositório, é uma opção.

Para .Net existem opções interessantes e é importante conhecer alguma.

Vou listar 3:
🎯 JustDecompile --- http://www.telerik.com/products/decompiler.aspx

🎯 dotPeek --- http://www.jetbrains.com/decompiler

🎯 ILSpy --- http://ilspy.net

Nos comentário recebi uma sugestão do Damjan Cvetko sobre uma ferramenta interessante também

🎯 dnSpy --- .NET debugger and assembly editor - https://github.com/dnSpy/dnSpy

Então meu código está disponível para qualquer um mesmo compilado? Em teoria sim, mas você pode obfuscar caso ache interessante. Com essa técnica você vai dificultar um pouco a vida de um decompiler.

O processo de obfuscação protege um pouco mais o binário, mas possui algumas possíveis desvantagens preocupantes: Perda de performance, impossibilidade de uso de reflection e serialization.

Como tudo nessa vida, tem o lado bom e o lado ruim. Pense bem antes de adotar.

https://docs.microsoft.com/pt-br/visualstudio/ide/dotfuscator/?view=vs-2019

Até a próxima! 👊

Top comments (2)

Collapse
 
zobo profile image
Damjan Cvetko

You should also look at github.com/dnSpy/dnSpy . It’s a fantastic tool but sadly archived. I used it in a hacking CTF a while back: damjan.cvetko.org/blog/2020-xmas-c...

Collapse
 
leandroats profile image
Leandro Torres

Thanks for Sharing!