no-code - пакет для скрытия кода на языке Python

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 563
Зарегистрирован: 20.08.2022

#

no-code - пакет для скрытия кода на языке Python
Дата публикации:Fri, 31 Oct 2025 09:30:33 +0300

Опубликован инструментарий no-code, позволяющий скрывать код в скриптах на языке Python. Преобразованный скрипт выглядит в редакторах кода как одна строка "# coding: no" без какого-либо иного содержимого, но при этом продолжает запускаться и выполнять прежние функции. Инструментарий создан под впечатлением от шуточной философии No Code, в соответствии с которой лучшим способом написания безопасных и надёжных приложений является полное отсутствие кода. Отмечается, что данная философия хороша, но иногда требуется, чтобы программа выполняла какие-то действия. No-code решает эту проблему и позволяет распространять программы "без кода", но выполняющие действия.
Метод скрытия основан на кодировании содержимого при помощи двух Unicode-символов, имеющих нулевую длину (не приводящие к отступу пробелы 0x200B и 0x200C). Один невидимый символ отождествляется с "0", а второй с "1".
$ cat some_code.py print("Hello, world!") $ no_code some_code.py > no_code.py $ cat no_code.py # coding: no ​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​‌​​​​‌​‌​​​​​‌​​​‌​​‌​​‌​​​​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​‌‌​​​‌‌​‌‌‌‌​​‌​‌‌​​​​‌​​​​​​‌‌‌​‌‌‌​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​‌‌​​​‌‌​​‌​​​​‌​​​​‌​​‌​​​​​‌‌‌‌​​​​‌​​‌‌‌‌‌‌​​‌‌​​​‌​​​​​​‌​​‌​​​‌​​​‌​‌​​‌​​​​‌​‌​ $ python no_code.py Hello, world! $ yes_code no_code.py > some_code.py $ cat some_code.py print("Hello, world!") Строка "# coding: no" в скрипте со скрытым кодом указывает на использование в файле кодировки с именем "no" - ключевое слово "coding:" применяется в Python для задания кодировки исходного кода. Для запуска преобразованного скрипта требуется установка Python-пакета "no_code", который включает файл "no.pth", вызываемый при использовании кодировки c именем "no" для декодирования перед обработкой парсером. Для скрытия не всего файла, а отдельных порций с кодом, проектом предоставляются функции no_code.nothing() и no_code.something().
Из похожих проектов можно отметить Perl-модуль Acme::Bleach, преобразующий код в представление из пробелов и табуляций, а также JavaScript-библиотеку INVISIBLE.js, позволяющую скрывать код через кодирование в символы с нулевой длиной.

Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64148

Жизнь за Нер'зула!

Ответить