Задать вопрос
@skvoshiz

Как зашифровать (обфускатор) код в c#?

Здравствуйте, пишу немного на c# WPF, идет полная привязка программы к серверу, т.е. основные действия без ответа сервера программа не выполнит.
Как возможно сделать так, чтоб чтоб исходный код не было видно? Чем сделать обфускацию чтоб обычный пользователь за 2 клика не снял ее и соответственно, чтоб из-за этого не появились проблемы с антивирусом?
Все доступные обфускаторы которые я находил легко снимаются за 2 клика. Мне не нужна любая другая защита, просто не читаемый вообще код нужен, как это сделать?
  • Вопрос задан
  • 7350 просмотров
Подписаться 3 Оценить 1 комментарий
Ответ пользователя Валерий Абакумов К ответам на вопрос (3)
Valeriy1991
@Valeriy1991
Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
Добрый день!

Как вариант - написать свой обфускатор (на полном серьезе). Например, строки можно кодировать в Юникод (вида \u0024), добавлять рандомно кучу комментариев, точек с запятыми, переименовать все переменные в переменные с бредовыми названиями, используя Guid.NewGuid(). Например:
было:
private string _appName = "MyApp";
стало:
private string 2D63C163DBAF484E8B2286DCD3BE3FD4= "\u0023\u0054"; // как-то так

Можно вдобавок удалить все #region'ы и #endregion'ы, сделать так, чтобы всё содержимое *.cs файлов было в 1 строку (только это не работает, если у Вас есть директивы препроцессора: #if, #endif и др. - эти директивы обязательно должны быть на новой строке), удалить все нормальные комментарии (которые оставляли разработчики), добавлять какой-нибудь ненужный код в виде циклов.

Удачи!
Ответ написан