Wednesday, April 27, 2011

JustDecompile Unofficial FAQs

JustDecompileToday Telerik proudly introduced the beta for a  brand new .NET assembly browser and decompiler called JustDecompile. This new tool is designed to make assembly browsing and decompiling easier than ever before by integrating many of the innovations created for JustCode, Telerik's Visual Studio productivity plug-in, with a tool dedicated to the tasks related to assembly browsing. Oh! And it's a free tool. Forever. For everyone.

Obviously, anytime a new tool is introduced there are MANY questions that need answers, even during a beta. So without further pretense, enjoy this collection of answers to some of (or what will soon be) the most common JustDecompile BETA questions.

JustDecompile Q&A

Q: What is JustDecompile?
JustDecompile is a free tool from Telerik for .NET assembly browsing and decompiling. In other words, it lets you take an existing compiled assembly (.dll or .exe) and easily browse the symbols it contains, and then just as easily decompile the assembly language back to easily readable C# (and in the future VB, IL, and possibly other languages). JustDecompile is a standalone tool and it does not require Visual Studio.

Q: How much does JustDecompile cost?
JustDecompile is 100% free and it will remain that way forever. Assembly browsing and decompiling is a basic .NET developer toolbox necessity and Telerik is happy to provide the ultimate tool for that action for free. This perfectly complements Telerik's other "money making" developer tools, like JustCode, so we will not charge for JustDecompile in the future.

Q: Is JustDecompile and open source tool?
While JustDecompile is free, it is not open source. It is available from Telerik free of charge for perpetual use (there are no "time bombs" in the software). Since JustDecompile incorporates code and innovations from the commercial JustCode product, we cannot make the JustDecompile source available.

Q: Why is Telerik creating an assembly browser/decompiler?
A few reasons. First, Telerik is helping address a "gap" that was created in the .NET market when a popular assembly browser/decompiler ceased to be freely available (with all future updates are behind a "pay wall"). Secondly, Telerik is helping reimagine the assembly browser/decompiler. Existing tools have not evolved greatly over the last few years, while .NET and development has seen huge amounts of change. Telerik is aiming to innovate in the user experience and decompiling code quality with JustDecompile.

JustDecompile also perfectly compliments Telerik's other developer productivity tools, like JustCode, JustMock, and JustTrace. Telerik continues to build on its promise to be an end-to-end provider of solutions for all aspects of software development.

Q: What makes JustDecompile special?
JustDecompile is doing a number of things that are cool and new for assembly browsing/decompiling:

  1. Side-by-side Assembly Loading
    Load different versions of the same assembly side-by-side without being forced to always unload and reload
  2. Innovative Code Navigation
    Borrowing from the useful JustCode code navigation found in Visual Studio, JustDecompile provides fast code navigation. Support for keyboard short cuts, CamelCase searching, and searching for Types and Symbols.
  3. Integrated Code Analysis
    In other tools, full analysis requires multiple actions (Used By, Instantiated By, Exposed By, etc.). JustDecompile roles these all-up in to a single easy to execute "Find Usages" action, complete with code context snippets and highlighting.

Check-out the product team blog on JustDecompile and JustTrace to see more about what's in the first JustDecompile beta.

Q: When will JustDecompile be available?
JustDecompile Beta is available now for immediate download. The first official release of JustDecompile will be part of the Telerik Q2 2011 release this summer. After v1, JustDecompile will join the Telerik update cycle, getting 3 major updates per year + intermediate service packs and hotfixes as necessary. We have a huge road map for JustDecompile with lots of great enhancements planned for 2011 and 2012.

Q: Does JustDecompile support languages other than C# (like VB, IL, F#, etc)?
The beta currently only decompiles to C#, however JustDecompile has been designed to output to other languages. Before the first official release, JustDecompile will also support outputting VB. After that, we will add language support based on customer and community feedback, most likely focusing MSIL next.

Q: Does JustDecompile support 3rd party extensions/plug-ins?
JustDecompile is built on Microsoft's Managed Extensibility Framework which provides a familiar model for creating and adding plug-ins to JustDecompile. In fact, JustDecompile's core features, like Find Usages and History Navigation, are simply plug-ins.

In the beta, we have not had time to fully address a polished API for supporting 3rd party extensions, but it is a high priority item on the backlog. Based on continued request for this feature, we will likely add support for plug-ins in 2011.

Q: What are the system requirements for JustDecompile?
JustDecompile requires .NET 4.0. Otherwise, it should just work on Windows systems, 32- or 64-bit.

Q: What do I do after I install JustDecompile?
Unfortunately, the beta installer does not add application shortcuts to the Start Menu or Task Bar. To run JustDecompile after installing, navigate to the install directory (usually, "C:\Program Files (x86)\Telerik\JustDecompile\Libraries") and run JustDecompile.exe.

We recommend pinning JustDecompile.exe to your Start Menu or Task Bar for quick repeat access. In the future, the installer will provide the expected application shortcuts and Windows integration.

Q: Does JustDecompile integrate with Visual Studio?
Not directly, but JustCode does provide native decompiling in the Visual Studio environment. For JustDecompile like functionality natively in Visual Studio, we recommend downloading and installing JustCode.

Q: Can decompiled code be directly exported from JustDecompile?
No, not with today's beta, however we have logged this feature and will likely add it in an upcoming release.

Q: Can obfuscated code be decompiled with JustDecompile?
No, you cannot decompile obfuscated code with JustDecompile. We will gauge interest in adding this feature in the future and consider adding support at that point. For now, this is not on the immediate road map.

Q: Where should I share JustDecompile beta feedback?
Direct all feedback to the JustDecompile beta forums on Telerik.com. We're eagerly waiting to hear from you so we can make the first release the best possible decompiling/assembly browsing tool.

Q: Will decompiling JustDecompile rip a hole is space/time?
Good question from one of the webinars. Answer: No. That's the first thing I checked and we're all still here.

I think that about covers it. I'll add more questions and answers if I've missed something major. For now, be sure to review the product team blog post on JustDecompile and download the beta!