Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

Как защитить Python-код от модификации?

Как защитить Python-код

Многие задаются вопросом - как скрыть исходный код написанных на питоне скриптов, чтобы затем можно было например продавать эти скрипты. В своё время и мы задались этим вопросом, в следствии чего со временем нашли его решение.

Можно было бы просто отдавать клиентам байт-код, который создает python при первом запуске скрипта. Например, запустили test.py, рядом появился test.pyc, его и продаем. Однако в сети есть скрипты, которые восстанавливают из него исходный код с точностью до байта.

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

Рассмотрим решение пошагово:

- Конвертируем python-скрипт в Си:

cython -3 СКРИПТ.py

Получаем СКРИПТ.c - это исходный код python-модуля, который выполняет то же самое что и питон-скрипт.

- Компилируем полученный Си-файл:

gcc -pthread -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python3.3m -c СКРИПТ.c -o СКРИПТ.o
Получаем объектный файл СКРИПТ.о

Осталось слинковать его в бинарник. Так как примеры выполняются на линуксе, он будет иметь расширение .so:

На Windows расширение будет .pyd

link = gcc -pthread -shared СКРИПТ.o -o СКРИПТ.so
Таким образом мы имеем новый модуль для питона "СКРИПТ.so", который можно импортировать в код других скриптов:

import СКРИПТ
....

Этим способом мы компилируем все наши скрипты для социальных сетей, работы с FTP и имейлами, входящие в состав программного продукта Fream. Ознакомиться с ним вы можете на сайте http://www.freedomscripts.org

На нашем сервере стоит скрипт, который каждую ночь пересобирает все наши программы для Linux, Windows и Freebsd, благодаря чему мы имеем в git-репозитории свежие бинарные версии каждой из них.

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru yandex.ru
Комментариев: 1
  1. Аноним | 2015-10-06 в 00:10:27

    Молодцы!

    Люблю когда не скрывают применяемые методы.

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

(обязательно)