How .net obfuscators work

Are there any articles on this I know about ildasm, and I'm interested in how the standard PE files are built, where the certain information is stored (meta-deta, IL, etc), how an application starts up for the first time (prior and after being jitted and stored in the gac). etc, etc.

Basically, everything about how .net works :)

Can I read up about this anywhere, or do I have to create my own sample .net executables, and guess/reverse engineer the contents

My long term aim is to eventually create a freeware obfuscator. I'm not really interested in disassembling existing net assemblies, but I'm guessing the software will have to do a certain amount of that in order to know what it's working with or what it can and can't change.

Apologies if this is posted in the wrong sub-forum - there doesn't seem to be a correct one from the forum list descriptions for this kind of question.


Answer this question

How .net obfuscators work