Pythonスクリプト内のコードを隠すことができるノーコードツールキットが公開されました。変換されたスクリプトは、コードエディタでは「#coding:no」という1行のみで、他の内容は表示されませんが、実行され、同じ機能を実行します。このツールキットは、安全で信頼性の高いアプリケーションを作成するための最良の方法は、コードを一切使用しないことである、というユーモラスなノーコード哲学に着想を得ています。この哲学は確かに優れていますが、プログラムが特定のアクションを実行する必要がある場合もあります。ノーコードはこの問題を解決し、コードを記述せずにアクションを実行できるプログラムを配布できるようにします。
隠蔽方法は、2つの長さゼロのUnicode文字(インデントなしスペース0x200Bと0x200C)を使用してコンテンツをエンコードすることに基づいています。1つの非表示文字は「0」で識別され、もう1つは「1」で識別されます。 $ cat some_code.py print("Hello, world!") $ no_code some_code.py > no_code.py $ cat no_code.py # コーディング: 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でソースコードのエンコーディングを指定するために使用されます。変換されたスクリプトを実行するには、「no_code」Pythonパッケージをインストールする必要があります。このパッケージには「no.pth」ファイルが含まれており、解析前のデコードに「no」エンコーディングを使用する際に呼び出されます。ファイル全体ではなく、コードの一部を非表示にするために、プロジェクトではno_code.nothing()関数とno_code.something()関数を提供しています。
同様のプロジェクトには、コードをスペースとタブの表現に変換する Perl モジュール Acme::Bleach や、コードを長さゼロの文字にエンコードして非表示にできる JavaScript ライブラリ INVISIBLE.js などがあります。
出所: オープンネット.ru
