Di seguito gli interventi pubblicati in questa sezione, in ordine cronologico.
Nell'articolo viene spiegato come inserire codice arbitrario nella dll "core" (mscorlib.dll) del .net framework 
Per quanto riguarda, invece, la protezione del software/dati (attività specifica del sottoscritto) è realistico prevedere managed-code-injection:
- messagebox di una stringa in base64;
- scrittura su disco di un array di byte
direttamente nel namespace: System.Security.Cryptography -> classi relative alla crittografia dei dati (des, tripledes, rijndael, ect.) -> metodo:
public override ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV);
in definitiva, per quanto nascosti, nel ns codice, gli array .KEY e .IV ...devono passare per questo metodo...e, quindi, saranno sempre a disposizione dei ns aggressori! 
Attualmente, con tale tecnica, vengono "bucati" tutti gli schemi di licensing presenti sul mercato oltre alle eventuali tecniche personali di protezione dei dati!
E' indispensabile, quindi, d'ora in poi, l'utilizzo di algoritmi di crittografia a chiave asimmetrica! 
link di riferimento: http://bit.ly/bWiGKD
Oltre a spiare i ns Assembly con gli attuali
.NET CLR Class Browser Decompilatori (il più famoso oltre che gratuito è
Reflector), ora, è anche possibile effettuare delle modifiche "on-fly" utilizzando la libreria
Mono.Cecil. In questo esempio -realizzato in vb.net- si evidenzia come rimuovere l'attributo
SuppressIldasmAttribute che "dovrebbe" bloccare il disassembling tramite
ILDASM:
Imports Mono.Cecil
Module Module1
Sub Main()
'[i] spying assembly ...
Dim assembly As AssemblyDefinition = AssemblyFactory.GetAssembly("d:\goliath.exe")
'<<<
For Each attribute As CustomAttribute In assembly.CustomAttributes
If (attribute.Constructor.DeclaringType.Name = "SuppressIldasmAttribute") Then
'[i] remove attribute
assembly.CustomAttributes.Remove(attribute)
Exit For
End If
Next
'[i] erase PublicKey and PublicKeyToken
With assembly.Name
.PublicKey = Nothing
.PublicKeyToken = Nothing
End With
'[i] save to disk the new tampered assembly
AssemblyFactory.SaveAssembly(assembly, "d:\goliath_ildasm.exe")
End Sub
End Module
...semplice e fin troppo efficace!