mojoHead
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Пропробую ответить: 1. Как сказали - хранить часть кода в ключевом файле. 2. Использовать байт-код и виртуальную машину (достаточно неприятно с ней разбитаться). но опять-таки в зависимости от реализации могут и не разбираться в этом... 3. Использование ряда степеней защиты. Активизировать следующую степень следует через некоторое время после обнаружения взлома (N запусков, N дней); активизировать при совершении юзером некой определенной последовательности действий (опять-таки, с некоторой задержкой). Таким образом появляется огромная вероятность того, что твою программу доломают не до конца. Выводить сообщения о незарегистрированности должна только первая степень защиты. Остальные - просто неработоспособность программы, простейший пример - запись мусора в код или данные. 4. Использовать несимметричные алгоритмы для шифрования. При этом ключ, которым данные шифруются должен быть только у разработчика, в программу его ни под каким видом помещать нельзя. 5. Как ни банально, но сообщения, хранимые в открытом виде сильно упрощают нахождение кода защиты. это принципы организации защиты, через что ты их реализуешь - через GetVolumeId, Hasp и проч. - дело второе. |