Причин защиты исходного кода может быть много, например:
- защита “ноу-хау”,
- защита текста от несанкционированного или непрофессионального вмешательства,
- формирование демо-версии add-on решения для передачи “наружу”
Кардинальное решение этой задачи обеспечивает утилита Navutilus Object Squeeze. Эта утилита физически удаляет исходные тексты из объекта Navision и делает эти объекты меньше размером. Способ борьбы с этой технологией один – декомпилятор. Но за эту задачу, насколько мне известно, пока еще никто не брался.
Проиллюстрируем технологию использования этой утилиты. Обработаем с ее помощью кодюнит 12 Gen. Jnl.-Post Line. Кстати, утилита обрабатывает только те объекты, на которые у ее пользователя есть права на чтение и модификацию.
Откроем карточку процедуры “сквизирования”:
1. Задаем тип объекта (Codeunit) и его номер (12)
2. Ставим галочку в поле Replace Source (иначе исходники сохранятся в неизменном варианте)
3. В поле Source Replacer Text импортируем текстовый файл, в котором задан текст, которым будут заменены тексты в программных триггерах и функциях. В нашем примере импортируем файл
4. Ставим галочку в поле Replace Documentation (иначе триггер Documentation останется неизменным).
5. В поле Documentation Replacer Text импортируем текстовый файл, в котором задан текст, которым будет заменен текст триггере Documentation. В нашем примере импортируем файл
6. В поле Erase Local Variable Names ставим галочку (иначе имена локальных переменных останутся неизменными).
7. Запускаем функцию Squeeze Objects! Через несколько секунд (в локальном варианте работы) получаем сообщение о завершении задания (мы, конечно же, сохранили изменяемый объект перед этой процедурой :)).
Теперь мы можем открыть в дизайнере этот объект. Получим такую картинку
Обратите внимание – теперь вместо имен локальных переменных изображаются “пустышки”.
Таким образом, в результате получаем защищенный объект, полностью работоспособный. Кстати, в этом конкретном случае его размер уменьшился с 460Kb до 226Kb.
Описанная технология массово протестирована. В частности, несколькими сотнями пользователей бесплатных утилит Navutilus, в разных странах и на разных версиях системы (утилита работает в версиях 4.хх, 5.хх, 2009).
четверг, 19 ноября 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий