quinta-feira, 7 de agosto de 2008

Ferramenta para disassembly .NET

Chega um dia em que a necessidade, força você a procurar por soluções para problemas que se tornaram criticos. Imagine o cenario onde você deleta acidentalmente, ou alguem deleta propositalmente, um arquivo de codigo que está em produção.

Agora você só possui as DLLs compiladas, mas você precisa fazer algumas alterações. Legal esse cenario não é? Então você sai por ai feito um louco procurando como descompilar uma aplicação .NET



Nesse caminho você experimenta varias aplicações, mas todas retornam codigos com nomes de variaveis estranhas ou simplesmente retornam codigo assembly.

Por sorte não precisei passar por isso. Pois quando essa situação me ocorreu eu já conhecia muito bem uma aplicação que sempre atendeu a todas as minhas expectativas com relação a disassembly de aplicações .NET


Ser curioso te leva a isso. As vezes você passa por um aperto pela primeira vez, mas simplesmente sabe como se sair muito bem da situação. Isso porque algum dia você foi curioso e pesquisou a fundo sobre determinado assunto, ou previu que poderia ocorrer algo parecido e estudou logo uma solução, não esperando o problema te pegar pelo pé.


No meu caso foi falta do que fazer mesmo que me levou a conhecer essa ferramenta. Eu simplesmente queria fazer um hack em uma aplicação .NET e não me contentava em não poder alterar a dll e refazer o projeto da minha maneira.



Então, para não criar mais espectativas, eu apresento a vocês o Reflector .NET

http://www.aisto.com/roeder/dotnet/Download.aspx?File=Reflector


O link acima leva direto para o download da ferramenta. Ela tem o uso muito simples. Basta abrir, escolher qual a versão do framework que vocês querem trabalhar e depois mandar abrir a DLL que você quiser.



Outro link que vale a pena passar o olho é: http://craign.blogspot.com/2004/11/net-disassembly-tools.html


Tem uma dica de outro programa interessante lá para se usar em conjunto com o Reflector



O Reflector irá te dar todos os NameSpaces da aplicação, todas as classes e seus metodos. As vezes ela bagunça um pouco o codigo, mas isso é muitoo raro. Já aconteceu comigo de um codigo no switch, virar um monte de GoTo -- Label:

Acontece, são coisas da vida!



Espero que vocês aproveitam a ferramenta, e não usem para fins improprios!

Essa ferramenta é proibida para scriptkiddies! =)



Boa diversão!

2 comentários:

Editor Flashback disse...
Este comentário foi removido pelo autor.
Editor Flashback Clips disse...

Agora que o Reflector é pago a alternativa é usar o ILSpy (http://wiki.sharpdevelop.net/ILSpy.ashx).

 
João Bosco Seixas