Защитите скрипты Python от обратного проектирования с помощью Pyarmor

Защитите скрипты Python от обратного проектирования с помощью Pyarmor Picture 1

Python легко читается и широко используется. Хотя такая удобочитаемость поощряет совместную работу, она увеличивает риск несанкционированного доступа и неправильного использования. Конкурент или злоумышленник может скопировать вашу проприетарную логику и алгоритмы без надлежащей защиты. Это негативно повлияет на целостность программного обеспечения и доверие пользователей.

Внедрите строгие меры безопасности, такие как запутывание данных и проверка лицензии, чтобы защитить свое программное обеспечение от потенциальных угроз. Защита скриптов Python — это не просто рутина; это важная стратегия для обеспечения безопасности ваших инноваций и поддержания доверия пользователей к цифровому ландшафту.

Что такое Пирмор?

Pyarmor — это библиотека командной строки. Это помогает защитить и скрыть скрипты и пакеты Python. Он преобразует исходный код Python в более неясную форму, сохраняя при этом свою функциональность. Маскировка переименовывает переменные, функции и классы в неописательные имена. Он также удаляет комментарии и реорганизует код. Это затрудняет реверсирование, подделку или копирование кода.

Pyarmor может защитить отдельные скрипты Python и целые пакеты и даже добавить проверку лицензии в ваш код.

Установите Пиармор. библиотека

Pyarmor включен в индекс пакетов Python (PyPI). Используйте pip для его установки, выполнив следующую команду:

pip установить пиармор

Вам не нужно устанавливать Pyarmor в тот же каталог, где хранится ваш проект. Вы можете установить его в любом месте на вашем компьютере и защитить любой скрипт Python из нужного каталога.

Однако, если вы хотите запускать защищенные скрипты без необходимости установки Pyarmor на целевом компьютере, вам необходимо установить его в тот же каталог, где хранится ваш проект. Это связано с тем, что защищенные сценарии будут содержать ссылки на среду выполнения Pyarmor. Это обязательное условие для запуска скриптов.

Защитите каждый скрипт Python

Защитить каждый скрипт с помощью Pyarmor довольно просто. Давайте посмотрим на скрипт, который добавляет следующие два числа:

def add_numbers(num1, num2): result = num1 + num2 print(“Сумма {} и {}: {}”.format(num1, num2, result)) # Значение num1 = float(input(“Enter первое число: “)) num2 = float(input(“Введите второе число: “)) add_numbers(num1, num2)

Используйте командную строку, чтобы перейти в каталог, в который вы установили Pyarmor. Затем выполните следующую команду, чтобы перейти в каталог, в который вы установили Pyarmor. Замените main.py на имя вашего скрипта.

pyarmor gen –output dist main.py

После запуска этой команды Pyarmor создает новый каталог с именем dist. Внутри он содержит ваш скрипт безопасности.

Защитите скрипты Python от обратного проектирования с помощью Pyarmor Picture 2

Откройте скрипт безопасности, чтобы увидеть его содержимое.

Защитите сценарии Python от обратного проектирования с помощью Pyarmor. Изображение 3

На приведенном выше снимке экрана показан результат после обфускации Pyarmor и кодирования простого дополнительного скрипта. Теперь вы не можете сказать, что делает скрипт, просто взглянув на него.

Чтобы запустить защищенный скрипт, откройте терминал или командную строку и перейдите в папку, где находится папка dist. Затем используйте следующую команду для запуска скрипта:

Python dist/main.py

Замените main.py на имя скрипта. Скрипт будет работать в обычном режиме без каких-либо помех. Тщательно протестируйте, чтобы убедиться, что все функции работают так, как вы ожидаете.

Защитите весь пакет Python

Пакет может содержать несколько модулей или сотни модулей в зависимости от их назначения. Защита каждого модуля утомительна. К счастью, Pyarmor способен защитить весь пакет.

Предположим, у вас есть простой пакет Python с именем sample_package со следующей структурой:

sample_package/ |– __init__.py |– module1.py |– module2.py

Вы можете создать столько модулей, сколько захотите.

Чтобы зашифровать и перемешать пакет, откройте терминал или командную строку, а затем перейдите в каталог, в котором находится ваш пакет. Затем выполните команду:

pyarmor gen -O dist -r -i sample_package

Замените sample_package именем пакета. Эта команда зашифрует и запутает ваш каталог пакетов и сохранит защищенный вывод в каталог dist. Используйте защищенный пакет так же, как и любой другой пакет Python.

Например, используя приведенный выше образец пакета, создайте новый скрипт в каталоге dist:

из my_package import module1, module2 module1.say_hello() module2.do_something()

При запуске этого кода пакет будет работать так, как должен, до его защиты.

Контролировать доступ к скриптам

Вы можете ограничить продолжительность запуска сценария пользователем, например, в течение пробного периода. Используйте следующую команду после перетасовки скрипта:

pyarmor gen -O dist -e 30 main.py

Замените 30 на количество дней, в течение которых скрипт должен работать. Вы также можете заменить его точной датой. После этой даты срок действия скрипта истечет.

Вы можете протестировать эту функцию, установив дату в прошлом. Это приведет к тому, что запуск скрипта выдаст ошибку. Используйте следующую команду, чтобы перетасовать сценарий с датой истечения срока действия:

pyarmor gen -O dist -e 01.01.2022 main.py

Затем запустите следующий скрипт безопасности:

Защитите сценарии Python от обратного проектирования с помощью Pyarmor. Изображение 4

Ошибка говорит о том, что срок действия лицензионного ключа истек, поэтому скрипт не может быть запущен.

Выше приведены вещи, которые вам нужно знать о безопасности сценариев в Python с использованием Pyarmor. Надеюсь, статья будет вам полезна.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *