Objavljeno je no-code orodje, ki omogoča skrivanje kode v Python skriptah. Pretvorjena skripta izgleda v urejevalnikih kode kot ena vrstica "# coding: no" brez kakršne koli dodatne vsebine, vendar kljub temu še naprej deluje in izvaja prejšnje funkcije. Orodje je ustvarjeno pod vplivom šaljive filozofije No Code, po kateri je najboljši način za pisanje varnih in zanesljivih aplikacij popolna odsotnost kode. Poudarjeno je, da je ta filozofija dobra, a včasih je potrebno, da program izvaja določene naloge. No-code to težavo rešuje in omogoča širjenje programov "brez kode", ki pa kljub temu izvajajo naloge.
Metoda skrivanja temelji na kodiranju vsebine s pomočjo dveh Unicode simbolov z ničelno dolžino (neodstopajoči presledki 0x200B in 0x200C). En nevidni simbol je identificiran kot "0", drugi pa kot "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!")
Vrstica "# coding: no" v skripti s skrito kodo pomeni, da se v datoteki uporablja kodiranje z imenom "no" — ključna beseda "coding:" se uporablja v Pythonu za določitev kodiranja izvorne kode. Za zagon pretvorjene skripte je potrebna namestitev Python paketa "no_code", ki vključuje datoteko "no.pth", ki se pokliče pri uporabi kodiranja z imenom "no" za dekodiranje pred obdelavo s parserjem. Za skrivanje ne celotne datoteke, temveč posameznih delov kode, projekt nudi funkcije no_code.nothing() in no_code.something().
Iz podobnih projektov lahko izpostavimo Perl modul Acme::Bleach, ki pretvarja kodo v predstavitev iz presledkov in tabulatorjev, ter JavaScript knjižnico INVISIBLE.js, ki omogoča skrivanje kode s kodiranjem v simbole z ničelno dolžino.
Izvor: opennet.ru
