Kiadtak egy kód nélküli eszközkészletet, amely lehetővé teszi a kód elrejtését a Python szkriptekben. Az átalakított szkript a kódszerkesztőkben egyetlen "# coding: no" sorként jelenik meg, minden más tartalom nélkül, de továbbra is fut és ugyanazokat a funkciókat látja el. Az eszközkészletet a humoros kód nélküli filozófia ihlette, amely kimondja, hogy a biztonságos és megbízható alkalmazások írásának legjobb módja a kód teljes mellőzése. Bár ez a filozófia jó, néha szükséges, hogy egy program bizonyos műveleteket hajtson végre. A kód nélküli megoldás megoldja ezt a problémát, és lehetővé teszi a kód nélküli, mégis műveletek végrehajtására képes programok terjesztését.
Az elrejtési módszer a tartalom két nulla hosszúságú Unicode karakterrel (nem behúzott szóközök, 0x200B és 0x200C) történő kódolásán alapul. Az egyik láthatatlan karaktert "0"-val, a másikat pedig "1"-gyel azonosítjuk. $ cat kód_is_kód.py print("Hello, world!") $ no_code kód_is_kód.py > no_code.py $ cat no_code.py # kódolás: no $ python no_code.py Helló világ! $ yes_code no_code.py > valamilyen_kód.py $ cat valamilyen_kód.py print("Helló, világ!")
A rejtett kód szkriptjében a "# coding: no" sor a fájlban a "no" kódolás használatát határozza meg. A Pythonban a "coding:" kulcsszó a forráskód kódolásának megadására szolgál. A konvertált szkript futtatásához telepíteni kell a "no_code" Python csomagot, amely tartalmazza a "no.pth" fájlt, amelyet a rendszer akkor hív meg, amikor a "no" kódolást használja a dekódoláshoz az elemzés előtt. A projekt a kód egyes részeinek elrejtéséhez a teljes fájl helyett a no_code.nothing() és a no_code.something() függvényeket biztosítja.
Hasonló projektek közé tartozik az Acme::Bleach Perl modul, amely a kódot szóközök és tabulátorok reprezentációjává alakítja, valamint az INVISIBLE.js JavaScript könyvtár, amely lehetővé teszi a kód elrejtését nulla hosszúságú karakterekké kódolva.
Forrás: opennet.ru
