C# функция для анализа и преобразования исходного C# кода
Добрый день! В целях защиты (затруднения анализа) исходного кода перепробовали ряд обфускаторов (в том числе, .NET Reactor, SmartAssembly). В течение нескольких часов благодаря интернету нашли инструкции для восстановления исходного кода из запатченных сборок( . Решили сделать свой алгоритм для затруднения анализа исходного кода C# после обработки рефлектором (и прочими подобными прогами). Итак нам нужна программа, которой передается путь к директории, в которой лежит sln файл проекта, после чего она:
1. копирует исходники проекта во временную папку;
2. ищет во всех cs файлах определения переменных, функций, классов;
3. переименовывает переменные, функции, классы), в результате чего их имена становятся бессмысленными;
4. соответственно, корректируются имена ранее переименованных переменных, функций, классов в местах их вызова/использования;
5. компилирует проект в заданную локацию;
6. удаляет временную папку.
Уточню, сама исходный проект (исходники которого корректируются) в конечном итоге компилируется в одну exe сборку (dll подключаются, но их исходников в проекте нет), поэтому проблем со связыванием быть не должно.