Показать сообщение отдельно
Старый 17.02.2015, 03:37   #18
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Re: "Защита" *.DLL

Сообщение от Platon Посмотреть сообщение
*Ключ отпадает однозначно если либа используется Блицем, ибо ключ как строку можно посмотреть HEX или блокнотом в exe или просто выдрав машинный код из exe и так-же посмотрев его HEX или блокнотом.
Конечные ключи (надо было только для одного проекта) встраивал не в явном виде, а в виде кода, генерируемого другой программой. На выходе получался синтетический набор массивы/функции, результатом взаимодействия которых был создаваемый в памяти ключ. Для паранойи можно ключ в памяти не держать, а создавать ровно на время работы с ним.
Конечно, можно было разобрать и этот код и восстановить ключ, но это совсем не то же, что прогнать фильтр chr()>31.
Ну и, "уязвимости" подвластны не только блитцевые exe.
Сообщение от Platon Посмотреть сообщение
Если либа не в блице используется, то можно попросту использовать интерфейсы - либа передает интерфейс одной функцией (как Блицевский runtime.dll), а через него уже используются все необходимые функции. Юзеру изрядно попотеть прийдется чтобы узнать структуру такого интерфейса.
То есть в роли интерфейса оставить только одну функцию, рассказывающую о внутренностях? Возвращающую по команде указатели на остальные методы? Ну это больше кодирование, чем шифрование (в плане - много возни, но если делать хорошо, то и пользователь быстро разберётся; не ясно как здесь обфусцировать код). Подобным приходилось маяться при изготовлении MATLAB-овских mex-файлов (DLL с фиксированным интерфейсом в одну функцию): функция получала на вход команду что_делать (инициализация, очистка ресурсов, рассчёт, прочее) и необходимый (для данной операции) набор данных. Ситуация упрощалась тем, что при написании используются matlab-овские контейнеры, что придаёт интерфейсу довольно масштабируемый характер.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием