DnSpy was great. The author (d4d) did many great things for the world of .net reversing and binary analysis, including dnspy and dnlib. One day, i don't know why, they archived most of their repositories.
I'm glad electrokill stepped up and maintains dnspyex now. This also shows how resilient open source can be - as long as someone wants to work on the project, it can go on forever.
I think the simple answer here is that we grew up. Most of us in the scene at that time and creating these types of tools were between 16-20 years old.
That's right. There was a time when reverse engineering was a big scene and creating these kind of tools was a craze. But eventually it faded away as people started using more web based tools
Love this tool, used it mod a Unity game and learn all the internals to see how to integrate my mod with the base game. Was an invaluable resource. It also taught me a lot about how they made that game (Lethal Company) and how it was truly made to ship/get the idea out the door and not for perfection/maintainable code.
Used dnSpy once to debug runtime IL-emited code as if it was C#. It managed to step into a generated emitted method, decompile it on the fly and set breakpoints on the decompiled C# code for subsequent hits. That was a mind-blowing at the time, nothing else was close and I'm not sure any other tool or IDE supports this even now. Though didn't have a need for that since.
Used this to debug an application crash in a vendor's proprietary windows app recently, and I was able to file a detailed bug report. (Though they decided it's notabug, womp womp.)
You can install it with winget, but it's very particular about whether you're debugging a win32 or win64 app and it's a bit of a pain to get it to install both or just win32. I wonder if it would be possible to have both bundled in the same installer and just automatically relaunch the app if you try to debug a program with a mismatching arch. Or just download from the releases page...
Great tool! Used to bypass a license in one .NET app where we really had bought a lifetime license but it still expired (we were in a hurry and didn't receive the new one in time).
The authors homepage has a link to crash iPhone. I clicked it with Chrome on Windows and it crashed :D (https://elektrokill.github.io/).
Mandatory registration doesn’t necessarily means costs.
I once had a 3D model viewer that needed a free online activation but the machine didn’t had internet access, so I flipped the assembly instruction from if registered start to if not registered start.
I remember using this tool back when I used Linux to patch a .NET project that had a bug that stopped it from working in Wine, and submitted the PR by just editing the original source file in the GitHub editor. Obviously Visual Studio doesn't work as well on Wine and it's like 100x bigger than dnSpy. Would do again
This is great news! Every time I used dnSpy I was blown away by how well made it was.
I still don't know why the original dnSpy repo was archived suddenly. Every once in a while I would go check to see if there's been any movement. I didn't realize this project existed so thanks for sharing.
I once used dnSpy to patch a bug in a corporate application we were using. The original developer had left the vendor company, and they were trying to triage to an outsourced company who "fixed it" multiple times. It's a valuable tool and great to see it's continuing.
DnSpy was great. The author (d4d) did many great things for the world of .net reversing and binary analysis, including dnspy and dnlib. One day, i don't know why, they archived most of their repositories.
I'm glad electrokill stepped up and maintains dnspyex now. This also shows how resilient open source can be - as long as someone wants to work on the project, it can go on forever.
They are still actively working on dnlib: https://github.com/0xd4d/dnlib
>One day, i don't know why, they archived most of their repositories.
Sounds like whytheluckystiff.
I think the simple answer here is that we grew up. Most of us in the scene at that time and creating these types of tools were between 16-20 years old.
That's right. There was a time when reverse engineering was a big scene and creating these kind of tools was a craze. But eventually it faded away as people started using more web based tools
1 reply →
Love this tool, used it mod a Unity game and learn all the internals to see how to integrate my mod with the base game. Was an invaluable resource. It also taught me a lot about how they made that game (Lethal Company) and how it was truly made to ship/get the idea out the door and not for perfection/maintainable code.
~~IIRC the maintainer was like 15 years old?~~ Edit: My mistake, the maintainer is 18, https://github.com/ElektroKill
Used dnSpy once to debug runtime IL-emited code as if it was C#. It managed to step into a generated emitted method, decompile it on the fly and set breakpoints on the decompiled C# code for subsequent hits. That was a mind-blowing at the time, nothing else was close and I'm not sure any other tool or IDE supports this even now. Though didn't have a need for that since.
Java IDEs have done this for quite a while, and recent versions of VS and Rider as well.
However even before .NET came to be, you could have had such experience in Smalltalk and Common Lisp environments.
Used this to debug an application crash in a vendor's proprietary windows app recently, and I was able to file a detailed bug report. (Though they decided it's notabug, womp womp.)
You can install it with winget, but it's very particular about whether you're debugging a win32 or win64 app and it's a bit of a pain to get it to install both or just win32. I wonder if it would be possible to have both bundled in the same installer and just automatically relaunch the app if you try to debug a program with a mismatching arch. Or just download from the releases page...
Great tool! Used to bypass a license in one .NET app where we really had bought a lifetime license but it still expired (we were in a hurry and didn't receive the new one in time).
The authors homepage has a link to crash iPhone. I clicked it with Chrome on Windows and it crashed :D (https://elektrokill.github.io/).
... it's jsut a small b64 encoded background image followed by a ton of div's - and it crashes the latest Edge on W10 as well.
Ahh I remember this. I used this to successfully bypass the registration of a small web scraper back in the day.
Congrats on stealing someone’s software so you could steal someone else’s data!
Mandatory registration doesn’t necessarily means costs.
I once had a 3D model viewer that needed a free online activation but the machine didn’t had internet access, so I flipped the assembly instruction from if registered start to if not registered start.
To be fair we now live in a world where Sam Altman is lauded and given billions for doing exactly this.
1 reply →
I laughed out loud lol. We have LLMs for this now.
I remember using this tool back when I used Linux to patch a .NET project that had a bug that stopped it from working in Wine, and submitted the PR by just editing the original source file in the GitHub editor. Obviously Visual Studio doesn't work as well on Wine and it's like 100x bigger than dnSpy. Would do again
This is great news! Every time I used dnSpy I was blown away by how well made it was.
I still don't know why the original dnSpy repo was archived suddenly. Every once in a while I would go check to see if there's been any movement. I didn't realize this project existed so thanks for sharing.
I once used dnSpy to patch a bug in a corporate application we were using. The original developer had left the vendor company, and they were trying to triage to an outsourced company who "fixed it" multiple times. It's a valuable tool and great to see it's continuing.
I use this tool for making mods for a game called From the Depths, which is made with Unity. I could not have made them without dnSpy!
This tool is amazing. Would love to extend it with varible-naming using LLMs iteratively
not everything needs AI
This looks like an amazingly useful tool. Would be great to see this for other languages.
asdasdasdasd
asdf