Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2011 08:50:42

nerijus
От:
Зарегистрирован: 2010-06-03
Сообщения: 93
Репутация: +  1  -
Профиль   Отправить e-mail  

как зашифровать исходники?

crchemist
Формат *.pyc на різних платформах різний. пітон для 32бітної машини не буду виконувати *.pyc який скомпілений на 64-бітній.
Bullshit, .pyc файлы независимы от платформы. Они могут быть разными только если версии питона не совпадают. Байт код это не машинный код, он хотя “откомпилированный”, все ровно интерпретируется.



Офлайн

#2 Янв. 19, 2011 14:45:04

crchemist
От:
Зарегистрирован: 2008-07-09
Сообщения: 379
Репутация: +  0  -
Профиль   Отправить e-mail  

как зашифровать исходники?

nerijus
Bullshit, .pyc файлы независимы от платформы.
Подивись сорси пітона. . Python/import.c:load_compiled_module :
import.c:load_compiled_module
792 long magic;
….
796 magic = PyMarshal_ReadLongFromFile(fp);
Як бачимо перших N байт в pyc файлі мають тип long. Тип long на різних плаформах має різний розмір. Якщо компілиш pyc на 32бітах то magic запишеться в 4байти. І якщо потім ти той pyc спробуєш зчитати на 64бітах то зчитається 8байт. Вже на самому початку буде поламаний файл.
http://www.ualberta.ca/CNS/RESEARCH/LinuxClusters/64-bit.html
In a 64-bit environment, the size of the C long data type is 64 bits.
PS. Я дивився Python-2.7.1



Отредактировано (Янв. 19, 2011 14:49:27)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version