|
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 4
|
|
Защита программы и базы на С#11.10.2011, 17:01. Показов 5716. Ответов 11
Метки нет (Все метки)
Здравствуйте, профессионалы.
Пишу по работе программу на С# работающую с базой данных. Требуется защитить данные, чтобы их нельзя было просто вытащить из базы и привязать программу к определенному компьютеру, чтобы на другом она не работала. Я думал зашифровать базу на алгоритме DES или подобном, но по сути вытащив ключ шифрования из программы можно легко расшифровать всю базу. Я читал, что код C# легко декомилируется. Так ли это? И как от этого защищаться. Какие вообще существуют способы решения данных задач? Может кто-то сталкивался с подобным?
0
|
|
| 11.10.2011, 17:01 | |
|
Ответы с готовыми решениями:
11
Защита программы от НСД. Защита путем шифрования части программы на флеш-диске или флешке Простейшая защита программы: где хранить число срабатываний программы? Защита базы |
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|
| 11.10.2011, 17:30 | |
|
0
|
|
|
|
|
| 11.10.2011, 21:55 | |
|
.NET Reactor упаковывает так, что ни рефлектор, ни ILDASM ни другие инструменты (ну за все не в курсе) не открывают программу, например можно упаковать без обфускации. Например эксешник WPF проекта сильно не защитишь, там нужно тонко настроить, чтобы после защиты прога вообще работала (видимо из-за XAML (или BAML?)), зато *.dll пакуются всеми способами зашиты . После защиты эксешника этой прогой, я открываю в рефлекторе программу и вижу красный восклицательный знак на значке эксешника и надпись: Invalid number of data directories in NT header. Он защищает нормально и WPF проекты под 4-ый фрэймворк. Я не в курсе, может есть способ распаковать как-то, но я не встречал такого. Думаю главное ключ не хранить в проге открытым текстом, а то с помощью какой-то проги (вроде бы какого-то диспетчера задач) можно глянуть все строковые переменные в процессе. Мало ли не в курсе, есть такая тема как SecureString.
1
|
|
|
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 4
|
|
| 12.10.2011, 09:28 [ТС] | |
|
Про обфускацию и SecureString почитал. Спасибо. Попробую использовать. А как вообще надежно привязать программу к одному компьютеру? Я вроде нашел WMI или есть еще какие-нибудь более надежные способы?
0
|
|
|
2 / 2 / 0
Регистрация: 13.10.2011
Сообщений: 6
|
||||||
| 13.10.2011, 08:30 | ||||||
|
Обфускация дело хорошее, но часто ломают и с ней. Тут правда не совсем понятно, что вам конкретно требуется. Если дешево и сердито, то нужно копать в сторону WMI ( для привязки к оборудованию)
Если программный продукт предлагается продавать, то можно задуматься об использовании аппаратных ключей защиты. Недавно встречал на форуме тему об этом, там вроде как раз про защиту баз данных с примерами на C#, пояндекси "Урок 1. Основы Guardant API для защиты приложений". Посмотри, попробуй и выбери для себя оптимальный вариант.
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 4
|
|
| 13.10.2011, 10:27 [ТС] | |
|
Спасибо, большое. Да, программу на работе планируют продавать, правда цену надо уточнить у коммерческого отдела.
Посмотрел уроки по Guardant, в целом вроде все понятно и то что нужно. Но, как я понимаю, тут надо покупать ключи. Поэтому попробую сегодня у начальства уточнить про цену и возможные затраты. Еще раз спасибо.
0
|
|
|
2 / 2 / 0
Регистрация: 13.10.2011
Сообщений: 6
|
|
| 13.10.2011, 11:58 | |
|
Могу еще посоветовать подумать о контроле привязки программы через интернет, но это хорошо работает, если программа заточена под работу с интернетом.
1
|
|
|
1 / 1 / 0
Регистрация: 18.10.2011
Сообщений: 7
|
|
| 31.10.2011, 10:49 | |
|
Самый оптимальный вариант, пожалуй, это вынесение части кода в отдельную нативную dll и уже защита не только С#, но и этой dll.
0
|
|
|
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 4
|
||
| 02.11.2011, 12:10 [ТС] | ||
|
0
|
||
|
|
|
| 02.11.2011, 12:14 | |
|
Так как программа называется? Что за комплект разработчика? Где её купить? У них на сайте я нашёл только описание и больше ничего. Может плохо искал.
Добавлено через 1 минуту А всё нашёл, всё-таки плохо искал.
0
|
|
| 02.11.2011, 12:14 | |
|
Помогаю со студенческими работами здесь
12
Защита базы данных Защита базы данных
Защита базы данных Защита от копирования базы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|