dnEditor
A .NET assembly editor based on dnlib.
Want to help with the development? You are more than welcome to do so! Feel free to upgrade, fix or touch this project by submitting a pull request and I will make sure to approve and merge it.
Please note that I am working on this project during my free time, and as just a teenager doing everything alone, I cannot do it all instantly or at will. If your favourite feature is not found in dnEditor and you really wish it was there - submit a ticket, and wait. I will eventually get through it.
To-do (sorted by current priority):
-
Finish support for "switch" opcode. -
Switch back to virtual TreeNode. -
Add TreeView context menu with helpful options. -
Add variables support. -
Add support for "try-catch". -
Implement ILSpy decompiler. -
Add search functions. - Add member creation and deletion support.
- Add member overview/preview.
- Add member icons.
- Add resources support.
Screenshots
Credits and thanks:
- 0xd4d (dnlib) for the epic library that made this whole project possible and the time he took to help me. Yes, if dnlib didn't exist, this would have only been a fancy dream.
- WiCKY Hu (Simple Assembly Explorer) for his amazing piece of work. I "borrowed" many ideas and features from there, for which I hope I won't have done any bad.
- yck1509 (dnSpy & dnlib fork) for the first dnlib-based assembly decompiler. That definitely served me as a reference of dnlib itself and what I wasn't sure how to do. I am also using "a fork of his fork of dnlib", though I use none of his implementations. Still worth mentioning.
- Sebastien LEBRETON (Reflexil) for the currently only fully-working and fully-featured assembly editor. If you find something similar in dnEditor's design: it's either Reflexil that inspired me or Reflexil that made me use the (almost) same design.
- The guys behind ICSHARPCODE (ILSpy) [Daniel Grunwald, David Srbecky, Ed Harvey, Siegfried Pammer Artur Zgodzinski, Eusebiu Marcu, Pent Ploompuu] for their unbelievable work. If they didn't keep their everything open-source I wouldn't have been able to add the decompiler for some 15 minutes.
- li0nsar3c00l for wanting to be here. And for helping me out too, of course.
- XenoCode for the icon dnEditor currently uses.
All licenses can be found in the LICENSES.md file in the project root directory.
Greetings:
- To you for contributing, bug reporting or using this tool.
- To all boards, teams and individuals that support this work.