Como criptografar ou embaralhar meu script de shell para que fique ilegível a olho nu? Qualquer um dos métodos seria aceitável, forneça etapas específicas.
Como criptografar ou embaralhar meu script de shell para que fique ilegível a olho nu? Qualquer um dos métodos seria aceitável, forneça etapas específicas.
Respostas:
Você pode tentar as etapas descritas neste site, intituladas: Como criptografar o script Bash Shell no Linux usando SHC . Este artigo discute o uso de uma ferramenta chamada SHC - Shell script Compiler .
Este é um executável que você precisará criar usando o gcc / g ++.
$ ./shc -f random.sh
Depois de executá-lo, seu script de shell random.sh
será convertido neste arquivo:
-rwx-wx--x. 1 ramesh ramesh 11752 Mar 27 01:12 random.sh.x
Não, existe uma boa análise do método usado pela ferramenta SHC, que mostra que ela não é excessivamente forte e pode ser contornada se você souber o que está fazendo. O artigo foi publicado no site linuxjournal.com, intitulado: Paranoid Penguin - Limitações do shc, um utilitário de criptografia de shell .
NOTA: Essas classes de ferramentas provavelmente são melhor descritas como ofuscadores.
fg
para trazê-lo para o forground e, em seguida, funcionou bem. Eu ainda estou procurando alternativas.
Se você deseja criptografar um script de shell, use GPG . Quem quiser executar seu script, é claro, precisará decifrá-lo primeiro.
Se você deseja que alguém seja capaz de executar o script, mas não o leia, é um problema completamente diferente que não tem nada a ver com criptografia. Isso se chama ofuscação .
Se você tiver uma senha ou outras informações confidenciais nesse script, nenhuma ofuscação ocultará. Mais cedo ou mais tarde, o script usará a senha para fazer algo e, nesse momento, a senha aparecerá claramente para quem a procurar.
Se você deseja ocultar o funcionamento do seu script porque tem medo de que alguém o copie, esqueça. Ninguém se importa.
Se você deseja ocultar seu script porque tem vergonha de sua qualidade, corrija-o.
Se você deseja ocultar como o script funciona, porque deseja ocultar o que ele faz, não é possível. Alguém pode olhar para o seu script enquanto ele é executado e observar o que está fazendo.
Se você leu até aqui e ainda deseja "criptografar" seu script, está entendendo mal algo importante. Não envie seu script para ninguém, nem envie em texto sem formatação.
Entendi isso enquanto pesquisava na Internet, cortesia de Claudio P.
Escreva seu script (script-base.sh)
#!/bin/sh
echo "Hello World"
Criptografe seu script (forneça uma senha):
openssl enc -e -aes-256-cbc -a -in script-base.sh > script-enc
Escreva o Wrapper (script-final.sh):
#!/bin/sh
openssl enc -d -aes-256-cbc -a -in script-enc | sh -
Execute "script-final.sh", digite a senha e o script será executado sem gravar o script de texto sem formatação no disco.
Basicamente, você pode ofuscar, mas não compilar seu script. A razão simples é que os scripts de shell são interpretados comandos individuais que precisam ser executados um a um pelo sistema, e que você pode ver esses comandos como eles são executados um a um pelo sistema com o sh -x
sinalizador (e talvez também o comando -v bandeira)
Para a maioria dos programadores, isso será suficiente para entender o que está acontecendo.
Você pode ofuscar suas variáveis e fluxo geral, se desejar, mas não pode ofuscar os comandos individuais executados pelo seu programa - que para scripts shell geralmente são todos eles.
A solução mais simples é provavelmente reescrever o script de shell em uma linguagem compilada como C.
tente enviar seu script para este site se desejar ocultá-lo da exibição pública.
Enquanto muitos podem discordar da idéia de criptografar ou ofuscar o código fonte de um script escrito em um idioma interpretado, entendo por que as pessoas querem fazer isso.
como alguém que teve seu trabalho roubado muitas vezes, simplesmente não me importo se "ofuscação" ou "criptografia" é um tabu. Contanto que meu script esteja protegido e funcione como antes da criptografia, eu tenho bastante conteúdo. nunca mais permitirei que outra pessoa pegue minhas idéias e continue com elas. e não, escrever meu script em uma linguagem compilada não é uma opção. Eu não sei como.
de qualquer forma, se você não quiser usar o site mencionado acima, tente a versão mais recente do shc. Acredito que eles o tenham atualizado no github para resolver as muitas preocupações de segurança que outros mencionaram. digite o seguinte no google " shc github " e você verá várias opções disponíveis que poderá experimentar.
boa sorte!