Presentation prep notes - Practical Disassembling

Practical Disassembling

 

Session description

Did you use to take things apart just to figure out what they were made up of and how they worked?  In this talk we will learn some ways to disassemble .Net assemblies in order to see what they are under the hood and how they work. 

 

First we will take a look at what disassembling is and why you should care as a developer (ie. usefulness of learning, debugging, fine tuning and concerns about intellectual property), then we will move on to some practical examples of how you can use Reflector (and its add-ins) and DILE (Dotnet IL Editor) to help you better understand how .Net works and what it is made of.   By the end of the talk you will be familiar with a few tools that you can use to satisfy that natural curiosity of tearing things apart to learn more about them.

 

Point B

To provide an understanding of what disassembling and decompiling are in the .Net world, how you as a developer can use disassembers/decompilers to learn more about how .Net works, fine tune your code and better understand what this means if you “ship” your code.

 

WIFFY (what’s in it for you?)

Why should you, as a developer, care?  You can learn about your compiler of choice from looking at the IL after it has been compiled.  You can translate your source to another .Net language.  You can view all pieces of an assembly.  You can fine tune your IL code.  Most of all you will get a better understanding of how your code looks (whether you are looking at it or someone else is), what it contains after compilation, and what some of your options are to protect your code if you need to.

 

Demos

Introduction to the tools

ILDasm

Reflector

DILE

 

Learn your way around .Net Assemblies

Simple Console Exe

Multi-tier Win Forms Exe

Temporary ASP.Net .dlls

 

How to use as a debugging aid

          VS.Net example

          Refector addins

          Step through code with DILE

                   Win forms application

                   *ASP.Net application temporary files

 

How to fine tune an assembly

          Simple round trip

          More complicated round trip

 

Awareness (scare the audience members who ship code demos)

          Extract resources

          Remove and resign a strong named assembly

 

Obfuscation

          Dotfuscator example

          Decompile after obfuscated

posted on Saturday, January 28, 2006 6:20 AM

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Url
Comment   
Please enter the following code into the box below to stop spammers

  
Enter Code Here *