
Examine the Innards of Assemblies #64
Chapter 7, Help and Research
|
251
HACK
Seeing that Reflector can provide source code view of an
assembly might give you pause if your company generates its
revenue from selling a .NET application. The last thing
you’d likely be interested in is having your customers—or
worse, your competitors—examining the source code of the
application. There’s no way to prevent anyone from viewing
the IL of a .NET assembly (and thereby disassembling it to
C# or Visual Basic), but you can obfuscate the IL. Obfusca-
tion is the process of changing the IL so that it still behaves
as intended, but is illegible and unreadable for a human. A
number of .NET obfuscation products —such as: PreEmp-
tive Solution's Dotfuscator
[Hack #80], WiseOwl’s Demeanor,
and Remotesoft’s .NET Obfuscator—are available.
Additional Reflector Features
In addition to serving as an object browser and disassembler, Reflector can
display call and callee graphs for class and class members, offer one-click
access to search Google or MSDN, and provide a framework that allows
third-party developers to create add-ins for Reflector.
To view the call or callee graphs, simply select a member in the tree view,
go to the Tools menu, and select the Call Graph or Callee Graph option.
The Call Graph lists the members called by the selected item, whereas the
Callee Graph lists those members that call the selected item. For