Dimyan, я тут наткнулся на серию книг "Альманах программиста". Там 4 тома, так вот 4-й посвящен защите кода. Защите от дизассемблирования посвящено очень немного, но сама суть меня просто поразила. Оказывается, что рекомендованным Microsoft методом защиты кода является его запутывание, т.е. непонятные имена функций, безусловные переходы и т.д. В общем - абзац, код получается абсолютно незащищенным!
И еще в инете накопал статью, тут подробно и научно обо всем написано:
http://www.aspnetmania.com/Articles/Article.aspx?ID=33