Compilando Shell
Um amigo de trabalho me perguntou se existe algum compilador shell pois aqui na empresa usamos alguns scripts com um certo conteúdo delicado (senhas, usuários, etc) e que seria legal se nós pudessemos “esconder” tais informações.
Instalação
- Faça o download do source do endereço http://www.datsi.fi.upm.es/~frosal/
- Descompacte o arquivo baixado: tar xzvf shc-3.8.3.tgz
- Será criado um diretório shc-3.8.3, entre neste e rode:
make
Utilização
Crie um shell script de exemplo (/tmp/hello.sh):
#!/bin/bash echo "Ola mundo"
Agora é só compilar o shell:
shc -r -v -f /tmp/hello.sh
- -r = compatibilidade entre distribuições de Linux
- -v = demostra as linhas utilizadas na compilação
- -f = qual shell será compilado
Entendendo
O shc le o arquivo shell, cria um arquivo .c (no nosso exemplo chamado hello.sh.x.c) - em linguagem C mesmo - e compila esse arquivo (no nosso exemplo será chamado de hello.sh.x).
Pronto, é só executa-lo.
Eu fiz o teste gerando o binário no Debian e executando no RedHat e vice-versa, ambas funcionaram.
Fonte: Dicas-L