|
14 / 14 / 5
Регистрация: 15.12.2014
Сообщений: 90
|
|
Защита от декомпилирования .net файлов18.08.2016, 13:45. Показов 3475. Ответов 25
Метки нет (Все метки)
Собственно сабж. Неоднократно выручал Reflector, но теперь интересуюсь способами его обхода, чтобы рядовой программист не смог декомпилировать все обратно в C# (шарящий все равно вырвет код, если будет нужно).
Есть ли какие-либо решения этого? (в курсе про Dotfuscator, но хотелось бы понять сам принцип защиты от рефлектора, а не использовать готовое ПО)
0
|
|
| 18.08.2016, 13:45 | |
|
Ответы с готовыми решениями:
25
Как защитить программу от декомпилирования? (С, C++, C#) Защита .Net сборки Защита кода .NET Обфускаторы |
|
|
|||
| 22.09.2016, 00:28 | |||
Извиняюсь, с репозиториями до этого не имел дела. Спасибо за Вашу настойчивость.
0
|
|||
|
Почетный модератор
|
||
| 22.09.2016, 00:57 | ||
|
CLR в общем и целом абсолютно всё-равно на имена ваших типов1, работа с типами происходит через токены. Обычно при обфускации не меняют имена открытых (public) типов, т.к. на них может быть завязана какая-либо другая сборка2. Также не обфусцируют типы которые используются в Reflection, либо нужно дополнительно производить анализ пользовательских строк и как-то обрабатывать эти ситуации. 1 - это те типы, которые Вы определяете сами, в своей сборке; 2 - в случае если тип описан не в Вашей сборке, то обфусцировать его название нежелательно/нельзя, связь между типами в разных сборках осуществляется по имени.
1
|
||
|
|
|||||||
| 23.09.2016, 08:31 | |||||||
|
NickoTin, Вот, например, класс:
0
|
|||||||
|
Master of Orion
|
|
| 23.09.2016, 11:06 | |
|
Serg34, изначальные имена - нет, но на clrium показывали, как можно очень хорошо восстанавливать имена методов и локальных переменных. Ну например вызвал x.ToString() - получи переменную xString, вызывал метод x.Sort(), получи sortedX, и так далее. Т.к. код не существует в вакууме, а вызывает всякие библиотечные АПИ, BCL-ные и т.п., то как GC от корней до самых последних листьев может восстановить граф всех объектов в системе, так и декомпилятор начиная от имен, которые обфусцировать нельзя (тот же System.String обфусцировать не получится) сможет восстановить довольно точно исходное именование.
Причем ему не важно, какое имя было изначально у этой переменной. То есть изначальные имена не восстановить конечно - как после string.Replace можно восстановить. что именно было заменено? Никак. Но это и не нужно как правило.
1
|
|
|
Почетный модератор
|
||
| 23.09.2016, 12:24 | ||
|
Serg34, пример того как могут поменяться имена можете тут глянуть.
0
|
||
|
141 / 138 / 22
Регистрация: 16.02.2012
Сообщений: 453
|
|
| 23.09.2016, 16:37 | |
|
Serg34, вам обфускация нужна, или зашита кода? Или и то и другое вместе?) Я использую обфускатор (dotfuscator), затем протектор (ilprotector). Получается довольно хорошая защита кода, никакой рефлектор не справится с восстановлением.
0
|
|
| 23.09.2016, 16:37 | |
|
Защита страниц ASP.NET не срабатывает Работа с Word на ASP. Net Защита от сбоев Защита от DDoS средствами VB.NET Защита shareware программа написанных под NET Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение 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, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|