Валерий Абакумов: пример с форматированием кода есть даже в официальном репозитории Рослина: FormatSolution и не только. Что о нем писать то - уже все написано. И это я еще деобфускатор de4dot не изучал. Что касается переименовывания констант, то понятно, что это потеря информации и усложнение. Вопрос только в том, зачем это писать самому, когда это есть в той же ConfuserEx: Name-Protection и фолдинг констант, кстати, тоже есть: Constants-Protection. Почему у вас слово открытые обособлено в "кавычки" тоже вопрос.
Для вас такая реализация такой операции, выполняемой с помощью Roslyn, является геморной? Ну тогда боюсь огорчу вас: это тривиально.
Можно поподробнее?
А вы изучали вообще как устроены современные опенсорсные .NET обфускаторы? ConfuserEx например. Любой ваш код с переименованными переменными и строковыми литералами легко вскрывается в ILSpy. ConfuserEx работает на более низком уровне, и он позволяет сделать так, чтобы декомпиляторы не смогли даже открывать такие файлы. А переименовывание переменных он тем более умеет делать, так что свой велосипед писать точно не нужно.
В общем ответ с советом "написать свой обфускатор" как раз не является серьезным, а является вредным.
Файл в одну строчку легко обходится. Нужно отпарсить код, а потом перевести его обратно, так что это не нужно. Да и обфускаторы работают на уровне IL кода, а не исходников.
uuurrr: я учился в МГТУ на ИУ7. Из тех, кто учит полезным вещам по специальности с оглядкой на новые технологии всего несколько человек, да и то в основном уже на старших курсах. А еще да, у нас была "бабушка с бейсиком". Некоторые одногруппники пошли преподавать (факультативно), надеюсь что-то будет меняться к лучшему :) Но нужно понимать, что если выбирать работу с относительно большой зарплатой и преподавание с неясными перспективами, то гадать не нужно относительно того, что выберет адекватный человек.