Byla publikována sada nástrojů pro skrytí kódu v Python skriptech bez kódu. Převedený skript se v editorech kódu zobrazí jako jeden řádek „# coding: no“ bez jakéhokoli dalšího obsahu, ale stále běží a provádí stejné funkce. Sada nástrojů je inspirována humornou filozofií „No Code“, která říká, že nejlepším způsobem, jak psát bezpečné a spolehlivé aplikace, je nepoužívat vůbec žádný kód. I když je tato filozofie dobrá, někdy je nutné, aby program prováděl určité akce. No-code tento problém řeší a umožňuje distribuci programů bez kódu, které jsou však schopny provádět akce.
Metoda skrytí je založena na kódování obsahu pomocí dvou znaků Unicode s nulovou délkou (neodsazené mezery 0x200B a 0x200C). Jeden neviditelný znak je označen jako „0“ a druhý jako „1“. $ cat some_code.py print("Ahoj světe!") $ no_code some_code.py > no_code.py $ cat no_code.py # kódování: ne $ python no_code.py Ahoj světe! $ yes_code no_code.py > some_code.py $ cat some_code.py print("Ahoj světe!")
Řádek „# coding: no“ ve skriptu skrytého kódu určuje použití kódování „no“ v souboru. Klíčové slovo „coding:“ se v Pythonu používá k určení kódování zdrojového kódu. Spuštění převedeného skriptu vyžaduje instalaci balíčku Pythonu „no_code“, který obsahuje soubor „no.pth“, jenž se volá při použití kódování „no“ pro dekódování před parsováním. Pro skrytí jednotlivých částí kódu namísto celého souboru projekt poskytuje funkce no_code.nothing() a no_code.something().
Mezi podobné projekty patří modul Perlu Acme::Bleach, který převádí kód do reprezentace mezer a tabulátorů, a knihovna JavaScriptu INVISIBLE.js, která umožňuje skrýt kód jeho zakódováním do znaků nulové délky.
Zdroj: opennet.ru
