Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/170: Рейтинг темы: голосов - 170, средняя оценка - 4.55
 Аватар для AlexVal
1 / 1 / 0
Регистрация: 18.10.2011
Сообщений: 7

Защита приложения на C# и обфускация

18.10.2011, 14:55. Показов 35487. Ответов 70
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не так давно перешел с классического Native на .Net. И сразу возник ряд вопросов каким образом защищают приложения на базе .net? Ведь насколько я знаю приложения .Net легко декомпилируются, практически до исходного кода.
Да, есть обфускаторы, которые переименовывают все названия внутри программы в непонятно что. Но, как я понимаю, это не мешает декомпиляции и отладке.
Эксперты, расскажите как вообще зазищаются от подобного и какими обфускаторами вы пользуетесь сами и в чем их преимущество?
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2011, 14:55
Ответы с готовыми решениями:

Защита/Обфускация .Net
Всем привет, пытался быстро нагуглить более или менее современные темы по этому вопросу и одно старье, может кто подскажет чем сейчас можно...

Защита bat / обфускация кода
Добрый день, Возможна ли обфускация кода bat, когда используются переменные в теле самого кода? Опробовал пару тройку приложений и...

Обфускация bat-файла как защита его от антивируса
Есть утилита которая сможет зашифровать .bat файл? Точнее его содержимое,чтобы открыв блокнотом можно было увидеть только зашифрованный...

70
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.05.2017, 12:55
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Teamplate Посмотреть сообщение
даже самый отбитый сможет поймать твой серверный код.
Ну раз самый отбитый сможет, то надеюсь сможете и вы? Хорошо, устроим эксперимент. Я залью на сервер службу, она будет принимать массив байт и просчитывать контрольную сумму (по только мне известному алгоритму). Раз вы считаете, что так просто вытянуть код с сервера, вы попробуете узнать этот алгоритм.
Как, идет такое соревнование?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.05.2017, 13:00
Цитата Сообщение от Teamplate Посмотреть сообщение
kler2008, ЛЮБОЙ язык программирования ломается, достаточно запустить одну-две программы.
Цитата Сообщение от Teamplate Посмотреть сообщение
kler2008, ЛЮБОЙ язык программирования ломается, достаточно запустить одну-две программы.
Psilon, WarGaming'у, как и мылу, наплевать на игры, их влекут только деньги. а на слитые движки они закрывают глаза.
Casper-SC, программа с кодом на сервере - прямая отдача кода реверсеру, даже самый отбитый сможет поймать твой серверный код.
Не любой язык декомпилируеться в читаемый код. Например программу С++, недекомпилиш назад в С++, мак. что получишь кода на ASM или С. И этот момент тоже быть важен.
Кроме того есть способы мешать дебагингу и модификации кода что усложняет взлом.

Сложность/цена взлома может стоить больше чем сама прога, что лишает взлом смысла.

Получить серверный код можно будет только если взломать сервер, а это уже совсем другая задача.
0
10.05.2017, 13:02

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Например программу С++, недекомпилиш назад в С++
Программу на С++ иногда и в исходном-то виде читать может быть сложно. :D

0
10.05.2017, 13:09

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
Программу на С++ иногда и в исходном-то виде читать может быть сложно.
Да не думаю что намного сложнее чем читать аналогичный код на C#.

0
10.05.2017, 14:43

Не по теме:

Usaga, Avazart, зачастую кровавые слёзы льются от чтения простого текста на обычном русском языке, а вы C#, C++...

0
1 / 1 / 1
Регистрация: 06.06.2016
Сообщений: 7
10.05.2017, 20:34
включаем charles, запускаем прогу.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.05.2017, 20:43
Avazart, ida умеет декомпилить в С, насколько я помню.

Teamplate, звучит как вброс. И математика не на вашей стороне, увы. Как и практика. А это совсем засада.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.05.2017, 20:47
Цитата Сообщение от Psilon Посмотреть сообщение
Avazart, ida умеет декомпилить в С, насколько я помню.
А я сказал что-то иное? Я сказал что там потом в этом коде фиг что разберешь, для обхода защиты может и достаточно ,но не для поддержки кода.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.05.2017, 20:49
Цитата Сообщение от Teamplate Посмотреть сообщение
включаем charles, запускаем прогу.
Teamplate, то есть вы согласны на мое предложение? Ваш ответ: Да или Нет? Если Да - я прямо сейчас сваяю службу, залью ее на сервер и выложу клиента для нее. А дальше-дело за вами.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.05.2017, 20:49
Avazart, ценность не в коде, а в построенной предметной модели. Советую DDD эванса почитать про это.

Понять из декомпилированного кода предметную модель весьма затруднительно. Впрочем, и имея все исходники, инструкцию на гитхабе и экспертов, которые когда-то код собирали и мейнтейнили, поддерживать плюсовый проект не всегда возможно.
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.05.2017, 21:01
Цитата Сообщение от Psilon Посмотреть сообщение
Avazart, ценность не в коде, а в построенной предметной модели. Советую DDD эванса почитать про это.
Спорный вопрос, все зависит области и вообще специфики программы.

Цитата Сообщение от Psilon Посмотреть сообщение
поддерживать плюсовый проект не всегда возможно.
А на С# возможно? Опять же зависит от квалификации и специфики.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.05.2017, 21:05
Цитата Сообщение от Avazart Посмотреть сообщение
Спорный вопрос, все зависит области и вообще специфики программы.
Согласен. Как-то давно мне для моей программы требовался один метод расчета. Он был в программе на С++. Сама эта программа не представляла для меня ценности от слова совсем, только небольшой метод. И вот благодаря помощи одного из хороших спецов данного форума (поскольку сам я в С++ и тем более декомпиляции откровенно слаб) мне удалось получить этот кусочек кода.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.05.2017, 21:19
Avazart, от языка зависит среднестатистическое качество кода, а также весьма объективные факторы вроде простоты сборки.
insite2012, как правило, декомпилируют не ради единственного уникального алгоритма. Хотя такие случаи и бывают. Но раз в год и палка стреляет, учитывать это большого смысла нет.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.05.2017, 21:23
Цитата Сообщение от Psilon Посмотреть сообщение
декомпилируют не ради единственного уникального алгоритма. Хотя такие случаи и бывают.
В моем случае нужен был только один-единственный алгоритм. Весь остальной функционал (из того, что представляло ценность) был уже извлечен другими способами.
0
 Аватар для iDReeM
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
10.05.2017, 21:35
Цитата Сообщение от Psilon Посмотреть сообщение
Avazart, ida умеет декомпилить в С, насколько я помню.
да, но там лишь псевдокод.

Добавлено через 15 секунд
Цитата Сообщение от Psilon Посмотреть сообщение
Avazart, ida умеет декомпилить в С, насколько я помню.
да, но там лишь псевдокод.
0
 Аватар для sau
2875 / 2080 / 386
Регистрация: 22.07.2011
Сообщений: 7,840
10.05.2017, 22:07
Ну скажем так , реверсинженеру читать блоки asm инструкций и видеть общую картину - так же привычно , как программисту ковырять С++ чужого проекта , так что , "сложность" относительная и особой разницы нет.
0
 Аватар для iDReeM
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
10.05.2017, 22:22
Цитата Сообщение от sau Посмотреть сообщение
Ну скажем так , реверсинженеру читать блоки asm инструкций и видеть общую картину - так же привычно , как программисту ковырять С++ чужого проекта
зачем если можно увидеть саму функцию.
Миниатюры
Защита приложения на C# и обфускация   Защита приложения на C# и обфускация  
0
 Аватар для sau
2875 / 2080 / 386
Регистрация: 22.07.2011
Сообщений: 7,840
10.05.2017, 22:36
Цитата Сообщение от iDReeM Посмотреть сообщение
зачем если можно увидеть саму функцию.
Да не суть , я просто хотел сказать , что жаловаться на то , что мол NET легко декомпилируется . а вот нативка - там все круто и никто не разберется , - для специалистов в области реверса это не составляет особого труда.

Добавлено через 15 секунд
Цитата Сообщение от iDReeM Посмотреть сообщение
зачем если можно увидеть саму функцию.
Да не суть , я просто хотел сказать , что жаловаться на то , что мол NET легко декомпилируется . а вот нативка - там все круто и никто не разберется , - для специалистов в области реверса это не составляет особого труда.
0
 Аватар для iDReeM
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
10.05.2017, 22:42
Цитата Сообщение от sau Посмотреть сообщение
Да не суть , я просто хотел сказать , что жаловаться на то , что мол NET легко декомпилируется . а вот нативка - там все круто и никто не разберется , - для специалистов в области реверса это не составляет особого труда.
в этом есть доля правды, так как тот же С++ более гибкий в большинстве специфических задач, и более сложный в изучении.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.05.2017, 22:50
iDReeM, в специфический задачах как правило используется чистый С, потому что стандартная либа не используется, ООП слишком оверхедное и т.п. Лично я плюсы предпочитаю рассматривать в стиле "приходится мириться" нежели "вау, какой гибкий". В том же D есть намного более мощные концепции (те же pure functions), про Rust молчу. Единственный их минус - меньшая распространенность.

В итоге можно долго вести дискуссии на темы "гибкости" или негибкости языка, но это ни к чему не приводит. Обфускация - полная лажа в большинстве случаем, C# для десктопа по сути - мертв (как и джава), это в основном серверсайд и крупные b2b проекты, взломать приложение что на шарпе, что на плюсах - не проблема, но вынести из этого какую-нибудь пользу в большинстве случаем затруднительно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.05.2017, 22:50

Обфускация C# - приложения
Здравия всем зашедшим! Задумал обфусцировать свою программу, но пройтись одним обфускатором - глупая затея, так как расшифровывает всё даже...

Обфускация .Net приложения
Поделитесь опытом, чем защищать .Net приложения ? Я юзаю Eazfuscator.Net assistant Самая главная преимущества -ФрииВарэ, и я сказал бы...

Защита приложения
Давай пользователю в работу приложение возможно ли сделать так чтобы он не видел - дерево таблицы-запросы-формы-отчеты (слева в access) ...

Защита приложения C#
Есть программа - менеджер, которая подгружает С++ длл-ки. Каждая обрабатывает пакет и передает на следующую длл-ку дальше для обработки. ...

Защита приложения
Как поставить приложение пользователю чтобы оно работала только месяц?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru