Уведомления

Группа в Telegram: @pythonsu

#1 Май 24, 2008 14:53:28

cybergrind
От:
Зарегистрирован: 2008-01-21
Сообщения: 201
Репутация: +  0  -
Профиль   Отправить e-mail  

Шифрование кода Python

хе. смотря что называть закрытием… даже ехе - не сильно сокрытие кода - машинный код то остается. самое тру-сокрытие: SaaS.



Отредактировано (Май 24, 2008 14:55:54)

Офлайн

#2 Май 24, 2008 15:55:09

lumen2000
От:
Зарегистрирован: 2008-02-19
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Шифрование кода Python

bw
Я бы защищал код так:

1. Откомпилировал все в .pyc.
2. Зашифровал и, опционально, объеденил в один архив все эти модули.
3. Написал на нативном языке исполняемый модуль, запускающий наше приложение (подгружающий необходимые модули Python и передающий им управление). В нем же необходимо реализовать дешифровщик наших .pyc'ов (свой импортер модулей).
4. Опционально. Использовать одну из существующих “шифровалок” исполняемых файлов и динамических библиотек, что бы затруднить дизассемблирование и анализ нашего главного исполняемого модуля, динамической библиотеки Python и других нативных модулей Python.

Работы здесь на 3-5 дней. С проектированием, кодированием и тестированием.
В моем понимании py2exe, все эти пункты и выполняет, кроме шифрования. Я и предложил чтобы в py2exe, появилать эта функция.
Если вы предлагаете написать новый собственный py2exe с возможностью шифрования, да еще за 5 дней, флаг вам в руки.


bw
p.s. Андрей Светлов выше все правильно сказал про надежность защиты. Могу добавить, что некоторым людям стоит больше внимания уделять не защите своих гениальных алгоритмов, а тестированию, что бы, не дай бог, софтина у конечного пользователя не свалилась в самый неудачный момент.
Заголовок данной темы “Шифрование кода Python”, а не “Как надо писать программ”, поэтому не подменяйте тему.



Офлайн

#3 Май 24, 2008 23:54:30

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Шифрование кода Python

Андрей Светлов
Во первых, Питон - открытый язык, и появление “шифраторов” в большом количестве лично мне не очень-то по душе. Из эстетических соображений.
Я согласен с этим, но в тоже время я согласен и с тем, что лучше дать выбор. По мне так ОпенСорса хватает за глаза, но вот некоторым нет.

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

Андрей Светлов
В третьих и главных - никто, думаю, не хочет увидеть рядом с шифрующим py2exe такой же свободно распростроняемый и открытый дешифратор?
Меня не правильно поняли. И похоже, что все.
Я имел ввиду не опцию типа “shifrovanie = True”, а именно API для написания шифратора-дешифратора. Т.о. откытый дешифратор возможен только тогда, когда вы сами захотели его открыть. Ну или его у вас спёрли… :-)

Андрей Светлов
Текущего состояния дел в плане “API на плюсах” более чем достаточно
Я не согласен, но шевелится по этому поводу тоже не буду, потому что меня устравивает и отсутствие шифрования.
И, взгляните, Андрей, какой размер у этой нити. Проблема-то актуальна. Хоть пиши упаковщик/шифровальщик ("уповальщик") и продавай его… :-)

P.S. Шифрование ключём здесь, конечно, возможно, но тогда вам придётся передавать этот ключь вместе с программой, иначе её никто не сможет запустить. :-)



Отредактировано (Май 25, 2008 00:24:53)

Офлайн

#4 Май 25, 2008 00:27:35

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Шифрование кода Python

single exe (py2exe вроде как уже умеет)+ криптор exe (которые так любят малварщики (вирьмейкеры в прошлом:] )), только не сильно красиво выйдет

Офлайн

#5 Май 25, 2008 00:44:29

lumen2000
От:
Зарегистрирован: 2008-02-19
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Шифрование кода Python

ZZZ
P.S. Шифрование ключём здесь, конечно, возможно, но тогда вам придётся передавать этот ключь вместе с программой, иначе её никто не сможет запустить. :-)
Очень интересно посмотреть, как можно зашифровать без ключа. Смысл в том, что бы не передавать ключ отдельно, а прятать его в самой программе.

slav0nic
single exe (py2exe вроде как уже умеет)+ криптор exe (которые так любят малварщики (вирьмейкеры в прошлом:] )), только не сильно красиво выйдет
А можно смысл фразы прояснить?



Офлайн

#6 Май 25, 2008 02:18:47

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Шифрование кода Python

lumen2000
Очень интересно посмотреть, как можно зашифровать без ключа. Смысл в том, что бы не передавать ключ отдельно, а прятать его в самой программе.
Я понял это. Но если программы будут различатся лишь ключём, то быстро будет написан алгоритм для его выдерания и использования.
Андрей правильную мысль дал – нужен не сколько шифратор, сколько архиватор с зактытым алгоритмом для того, чтобы сломать было дороже, чем купить.

lumen2000
А можно смысл фразы прояснить?
Мдя… действительно странно написано…
Мне думается вот что. Есть программки, которые перекручивают другие программки так, чтобы максимально усложнить обратную разработку. Это очень интересная мысль.
Если это работает только в одну сторону и достаточно стабильно, то больше ничего не нужно! Разве что slav0nic+1 за то, что подумал не так как все.



Офлайн

#7 Май 25, 2008 02:49:55

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Шифрование кода Python

bw С моей точки зрения - полностью совпадает с моими же предложениями. Только изложено чуть иначе.

Ребята, вам что нужно? Если защитить свои исходники, чтобы парень из соседнего подъезда не смог их прочитать - “замотайте” их каким-нибуть примитивным способом и сделайте примитивный же import hook. Соседу будет лень ковырятся - он быстрее напишет все сам с нуля.

Если же требуется серьезная защита программы от копированя - не избежать “тонкой” работы по созданию этой самой защиты. Алгоритмы надежного шифрования известны и открыты, но полноценная защита ими не ограничивается - она с этого начинается. И всегда привязана к бизнес-схеме распространения продукта. Основной критерий - выручка/потери.



Офлайн

#8 Май 25, 2008 12:05:15

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Шифрование кода Python

ZZZ
Мдя… действительно странно написано…
Мне думается вот что. Есть программки, которые перекручивают другие программки так, чтобы максимально усложнить обратную разработку. Это очень интересная мысль.
эм что не понятно? существует всякий софт аля asprotect которые усложняют реверсинг. аналогично существуют “крипторы” , которые в основном используются для шифрования вирусов\ботов\сплойтов и тп (для усложнения анализа антивирусом), названий не помню (гуглить по слову криптор\протектор,их в сети уже полно), вот например на васме http://wasm.ru/comment.php?srcid=320 и креклабе http://cracklab.ru/download.php?action=list&n=NDA= , на forum.web-hack.ru, forum.antichat.ru этого добра навалом, хотя для данных целей их не юзал, но думаю что сгодится.

также может прокатить простой вариант с пакерами, когда файл пакуется например через upx после чего изменяется заголовок файла, подробностей не помню ибо давно дело было;)

но опять же, всё надо пихать в 1 ехе, что не очень красиво=\, как это сделать - читать на http://www.py2exe.org/index.cgi/SingleFileExecutable

Офлайн

#9 Июнь 19, 2011 22:51:04

Madnezz
От:
Зарегистрирован: 2011-03-03
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Шифрование кода Python

UP Не нашли за это время способ скрытия исходника?



Офлайн

#10 Июнь 20, 2011 01:57:44

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Шифрование кода Python

Достойный способ сокрытия был и три года назад. С тех пор ничего не изменилось.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version