Settings

Theme

The JustDecompile .NET decompiler engine has been open-sourced

github.com

102 points by jbevain 11 years ago · 19 comments

Reader

exhilaration 11 years ago

How does this compare to dotPeek from JetBrains? https://www.jetbrains.com/decompiler/

  • felickz2 11 years ago

    Much better for newer features... for async/await dotpeek would show state machine ( which was actually cool to see), but JustDecompile would actually show me async await in decompiled code.

    ALSO, coolest feature is decompile to csproj ... very nice ;)

    • ttrashh 11 years ago

      I had the opposite experience. DotPeek created much better code. using statements were decompiled as usings, JustDecompile produced try/finally blocks.

    • ChristianGeek 11 years ago

      DotPeek has the option to export decompiled code to a project and solution.

    • skrowl 11 years ago

      Agreed. I used it just for the decompile to project.

  • lawnchair_larry 11 years ago

    Sorry I just downvoted you, fat fingered on an ipad. They really need to fix those on mobile.

    Anyway, intended to say that in my experience, all 4 major decompilers get tripped up on slightly different things. Between dotpeek, reflector, ilspy, and justdecompile, none could get everything right and I have to take pieces from each to get something buildable again.

taco_emoji 11 years ago

http://ilspy.net/ is what I generally use. Functionally modeled after .NET Reflector.

userbinator 11 years ago

A .NET decompiler written in .NET: I bet "let's try it on itself!" was not an uncommon thought among its users already.

It wasn't this one, but years ago I remember using a decompiler to look through things like the system libraries and the (relatively few) apps written in it at the time, and it was quite interesting how much metadata was available (if it hadn't been obfuscated). I think it's fun and enlightening to take things apart, see how they work, and modify them, so that aspect of .NET really appealed to me, but I still prefer native code for its efficiency and succinctness...

  • tracker1 11 years ago

    I remember in the 1.x and early 2.x timeframe of .Net trying to replicate functionality similar to the ASP.Net internals, but with some minor changes... being able to peak into the internals was incredibly useful, even if I did hit some walls... The changes made in support of MVC were really helpful in terms of being able to do more. I can't even remember the names of some of the first Alt.Net frameworks to gain momentum before it.

    I'm really happy to see more of .Net becoming open. I'd all but written it off in terms of new development. If the support for deploying in Linux/Docker becomes better, I'll be following this with great interest (to paraphrase Palpatine).

  • frik 11 years ago

    Before Minecraft, there was "Infiniminer" - a decompiler was involved:

    Zachtronics discontinued development of the game less than a month after its first release as the result of its source code leak. As Barth had not obfuscated the C# .NET source code of the game, it was decompiled and extracted from the binaries. Hackers modified the code to make mods, but also started making clients that would target vulnerabilities in the game as well as build incompatible game forks that fragmented its user base. Barth, who was making the game for free, then lost interest and dropped the project, as development of the game had become too difficult. http://en.wikipedia.org/wiki/Zachary_Barth

    "Proto-MineCraft Abandoned Due To Epic Error" article: http://www.rockpapershotgun.com/2011/01/20/proto-minecraft-a...

    The Minecraft mods-support relies on a decompiler too: http://minecraft.gamepedia.com/Programs_and_editors/Minecraf...

    • emodendroket 11 years ago

      Is it really an "epic error" to allow someone to see the source code of your program?

      • frik 11 years ago

        It's the headline of the rockpapershotgun.com article, that's simply their writing style. I added quote around the title, to make it clear that it's the articles title and not my opinion.

  • shimshim 11 years ago

    the one i was most familiar with was reflector. you could change the languages it was decompiled to from c# to visual basic.

ThinkBeat 11 years ago

With the release of Roslyn wont writing things like these be a lot easier?

DevKoala 11 years ago

This tool helped a lot back then. I would also use DotPeek.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection