Форум сайта python.su
хе. смотря что называть закрытием… даже ехе - не сильно сокрытие кода - машинный код то остается. самое тру-сокрытие: SaaS.
Отредактировано (Май 24, 2008 14:55:54)
Офлайн
bwВ моем понимании py2exe, все эти пункты и выполняет, кроме шифрования. Я и предложил чтобы в py2exe, появилать эта функция.
Я бы защищал код так:
1. Откомпилировал все в .pyc.
2. Зашифровал и, опционально, объеденил в один архив все эти модули.
3. Написал на нативном языке исполняемый модуль, запускающий наше приложение (подгружающий необходимые модули Python и передающий им управление). В нем же необходимо реализовать дешифровщик наших .pyc'ов (свой импортер модулей).
4. Опционально. Использовать одну из существующих “шифровалок” исполняемых файлов и динамических библиотек, что бы затруднить дизассемблирование и анализ нашего главного исполняемого модуля, динамической библиотеки Python и других нативных модулей Python.
Работы здесь на 3-5 дней. С проектированием, кодированием и тестированием.
bwЗаголовок данной темы “Шифрование кода Python”, а не “Как надо писать программ”, поэтому не подменяйте тему.
p.s. Андрей Светлов выше все правильно сказал про надежность защиты. Могу добавить, что некоторым людям стоит больше внимания уделять не защите своих гениальных алгоритмов, а тестированию, что бы, не дай бог, софтина у конечного пользователя не свалилась в самый неудачный момент.
Офлайн
Андрей СветловЯ согласен с этим, но в тоже время я согласен и с тем, что лучше дать выбор. По мне так ОпенСорса хватает за глаза, но вот некоторым нет.
Во первых, Питон - открытый язык, и появление “шифраторов” в большом количестве лично мне не очень-то по душе. Из эстетических соображений.
Андрей СветловПоясните. Мне кажется, что защита/шифрование чего-либо не зависит от того, что это.
Во вторых создание защиты - процесс творческий и сильно привязанный к защищаемому софту.
Андрей СветловМеня не правильно поняли. И похоже, что все.
В третьих и главных - никто, думаю, не хочет увидеть рядом с шифрующим py2exe такой же свободно распростроняемый и открытый дешифратор?
Андрей СветловЯ не согласен, но шевелится по этому поводу тоже не буду, потому что меня устравивает и отсутствие шифрования.
Текущего состояния дел в плане “API на плюсах” более чем достаточно
Отредактировано (Май 25, 2008 00:24:53)
Офлайн
single exe (py2exe вроде как уже умеет)+ криптор exe (которые так любят малварщики (вирьмейкеры в прошлом:] )), только не сильно красиво выйдет
Офлайн
ZZZОчень интересно посмотреть, как можно зашифровать без ключа. Смысл в том, что бы не передавать ключ отдельно, а прятать его в самой программе.
P.S. Шифрование ключём здесь, конечно, возможно, но тогда вам придётся передавать этот ключь вместе с программой, иначе её никто не сможет запустить. :-)
slav0nicА можно смысл фразы прояснить?
single exe (py2exe вроде как уже умеет)+ криптор exe (которые так любят малварщики (вирьмейкеры в прошлом:] )), только не сильно красиво выйдет
Офлайн
lumen2000Я понял это. Но если программы будут различатся лишь ключём, то быстро будет написан алгоритм для его выдерания и использования.
Очень интересно посмотреть, как можно зашифровать без ключа. Смысл в том, что бы не передавать ключ отдельно, а прятать его в самой программе.
lumen2000Мдя… действительно странно написано…
А можно смысл фразы прояснить?
Офлайн
bw С моей точки зрения - полностью совпадает с моими же предложениями. Только изложено чуть иначе.
Ребята, вам что нужно? Если защитить свои исходники, чтобы парень из соседнего подъезда не смог их прочитать - “замотайте” их каким-нибуть примитивным способом и сделайте примитивный же import hook. Соседу будет лень ковырятся - он быстрее напишет все сам с нуля.
Если же требуется серьезная защита программы от копированя - не избежать “тонкой” работы по созданию этой самой защиты. Алгоритмы надежного шифрования известны и открыты, но полноценная защита ими не ограничивается - она с этого начинается. И всегда привязана к бизнес-схеме распространения продукта. Основной критерий - выручка/потери.
Офлайн
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 этого добра навалом, хотя для данных целей их не юзал, но думаю что сгодится.
Мдя… действительно странно написано…
Мне думается вот что. Есть программки, которые перекручивают другие программки так, чтобы максимально усложнить обратную разработку. Это очень интересная мысль.
Офлайн
UP Не нашли за это время способ скрытия исходника?
Офлайн
Достойный способ сокрытия был и три года назад. С тех пор ничего не изменилось.
Офлайн