Обфускация – приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
Обычная форма |
---|
Управляемая форма |
Данная разработка является идейным продолжением разработки coder1cv8 [2 in 1] «Обфускация кода 1С» и «RegExp Тестер». В ней исправлены большинство ошибок разработки данного автора: корректно распознаются директивы компиляции, области, инструкции препроцессора, комментарии, корректно заменяются переменные (не знаю, как у вас, но у меня разработка автора просто так не шифровала код, все равно оставались какие-то частично не зашифрованные переменные.)
Для функционирования самой разработки в системе должна быть зарегистрирована компонента RegEx, а также для шифрования текста должна быть зарегистрирована компонента capicom.dll.
Как происходит обфускация:
- Удаляет комментарии.
- Удаляет области
- Заменяет не экспортные функции на guid.
- Заменяет не экспортные переменные и параметры на guid.
- Если необходимо шифрует с помощью capicom.dll строковые данные, каждый раз ключ разный.
- Директивы компиляции и инструкции препроцессора, всегда с новой строки
Обратите внимание, что если использовать шифрование строк в разработке, то это очень сильно замедляет работу, так как при расшифровки будет каждый раз создаваться comОбъект capicom, поэтому в вашем коде необходимо предусмотреть разовую инициализацию этой компоненты, тогда в разы ускорит работу.
Также на обычной форме есть кнопка "снять пометку с реквизитов формы" - она снимает пометку с тех переменных которые не соответствуют шаблону, где первые символы с маленькой буквы, а последующие с большой, либо один символ с маленькой буквы, это рассчитано на тех разработчиков, которые используют для идентификации переменных: глобальный - начиная с символа "м", локальных - "л" и т.д., хотя наверное эта кнопка и не нужна.
Также разработана аналогичная управляемая форма, работает в тонком и толстом клиенте.
Принимаются предложения и замечания. Если понравилась разработка, ставь плюс.
Дисклеймер. Я понимаю, что у программистов считается правилом хорошего тона делиться своим кодом, и сам не против этого, однако все мы взрослые люди, и никому не хочется, чтобы на нем наживались, поэтому делать код закрытым или открытым остается на усмотрение разработчика.
Поэтому не пишите, пожалуйста, комментарии «о этической стороне», «что закрываемый код и так никому не нужен» или что «данная защита ломается очень просто», да, такая защита ломается. Но данный способ защиты очень сильно замедляет разбор обработки, а стоимость защиты должна быть сопоставима со стоимостью разработки.