no-code — пакет за скриване на код на Python

Публикуван е инструментариум без код, който позволява скриване на кода в скриптове на 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», извикван при употреба на кодировка с име «no» за декодиране преди обработка от парсера. За скриване не на целия файл, а на отделни части с код, проектът предлага функциите no_code.nothing() и no_code.something().

От подобни проекти може да се спомене Perl модулът Acme::Bleach, който преобразува кода в представяне от пробели и табулации, както и JavaScript библиотеката INVISIBLE.js, която позволява скриване на кода чрез кодиране в символи с нулева дължина.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster