

.NET Reflector Pro is awesome - profquail
http://blog.rthand.com/post/2009/10/07/net-reflector-pro-is-awesome.aspx

======
tptacek
If I understand this, Reflector Pro is just Reflector integrated with VS's
debugger, so you can step through decompiled .NET code. Because other than
that, the free version of Reflector (which you should definitely get) has done
this stuff for years.

~~~
barrkel
Well, I think you're underplaying the awesomeness of being able to step
through library code you're using, _even when you don't have the source_.
That's crucial for understanding overridden method and event dispatching
scenarios, where your code gets called from the bowels of third-party code.

To put it another way, I think you're missing the forest for the trees, i.e.
the benefits for the features, in a way that so many engineers do. The crucial
feature isn't new. The benefit of this application is huge, and improves the
usefulness of plain decompilation (+ analysis etc.) by about 3x IMO.

~~~
tptacek
I guess I agree. I have had to debug .NET code through plugins like the
Deblector before, and it's not fun. Thankfully, I don't have a job that often
requires me to single-step .NET.

All I want to point out is, the capability of turning bytecode into high-level
source code isn't new. It's something the free version of Reflector has done
beautifully for years. If you work in higher-level languages (like Java, C#,
PHP or Python), you should probably be aware that your source code is out
there, even if you publish only bytecode.

~~~
DrJokepu
I'm never going to forget the shock on the faces of my co-workers when I told
them that by using reflection and looking at the bytecode/MSIL you can get
pretty much anything that's in the executable. "But why does .NET allow you to
access private fields? Isn't that a security hole in .NET?" They apparently
based the security of their application on the assumption that an attacker
cannot read private fields of their objects. Man, do I need to find another
job.

------
Quarrelsome
What I want is Find Usages/References in code I don't have the source for
without having to use FileDisassembler (and crank out the entire thing into
.csprojs and .slns).

