Foi lançado o conjunto de ferramentas no-code, que permite ocultar código em scripts Python. O script transformado aparece em editores de código como uma única linha "# coding: no" sem qualquer outro conteúdo, mas continua a ser executado e a realizar suas funções anteriores. O conjunto foi criado inspirado pela filosofia humorística No Code, que sugere que a melhor maneira de escrever aplicativos seguros e confiáveis é a total ausência de código. É mencionado que essa filosofia é boa, mas às vezes é necessário que o programa execute algumas ações. O no-code resolve esse problema e permite distribuir programas "sem código" que ainda realizam ações.
O método de ocultação baseia-se na codificação do conteúdo utilizando dois caracteres Unicode de comprimento zero (espaços invisíveis 0x200B e 0x200C). Um símbolo invisível é identificado como "0" e o outro como "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!")
A linha "# coding: no" no script com o código oculto indica que o arquivo está usando uma codificação chamada "no" — a palavra-chave "coding:" é utilizada em Python para especificar a codificação do código-fonte. Para executar o script transformado, é necessário instalar o pacote Python "no_code", que inclui o arquivo "no.pth", chamado ao utilizar a codificação com o nome "no" para decodificar antes de ser processado pelo parser. Para ocultar não todo o arquivo, mas partes do código, o projeto oferece as funções no_code.nothing() e no_code.something().
Entre projetos semelhantes, podemos destacar o módulo Perl Acme::Bleach, que transforma código em uma representação de espaços e tabulações, assim como a biblioteca JavaScript INVISIBLE.js, que permite ocultar código através da codificação em símbolos de comprimento zero.
Fonte: opennet.ru
