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.

How .net obfuscators work
Ron Gliane
If you really want to do what you said, I think you will find very interenting and usefull this files ammong the others there:
CLI Partition I - Concepts and Architecture
CLI Partition II - Metadata Definition and Semantics
CLI Partition III - Common Intermediate Language (CIL) Instruction Set
CLI Partition IV - Profiles and Libraries
CLI Partition V - Annexes
This site have what you need in order to do all about reverse engineering.
Ryan Po
jkreps
My favorite book on MSIL, maybe you will find it useful: Inside Microsoft .NET IL Assembler by Serge Lidin.