Найти - Пользователи
Полная версия: как зашифровать исходники?
Начало » Python для экспертов » как зашифровать исходники?
1 2 3
nerijus
crchemist
Формат *.pyc на різних платформах різний. пітон для 32бітної машини не буду виконувати *.pyc який скомпілений на 64-бітній.
Bullshit, .pyc файлы независимы от платформы. Они могут быть разными только если версии питона не совпадают. Байт код это не машинный код, он хотя “откомпилированный”, все ровно интерпретируется.
crchemist
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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB