Olá,
Aproveitando o assunto do último post, segue mais uma boa dica para aplicativos em Linux.
Atualmente há uma vulnerabilidade nos shell-scripts, no qual seu código é visível para qualquer um que tiver permissão de leitura. Isso impacta em situações em que é necessário implementar alguma solução em shell-script com interação com usuários finais, vulneráveis a acessos não autorizados, etc.
Existe um software de nome shc, que é um compilador capaz de ler um código de programação shell-script e gerar um arquivo executável binário, com código totalmente protegido. Este compilador foi desenvolvido por Francisco Rosales <frosal@fi.upm.es>.
O Dowload deste compilador está disponível na página do desenvolvedor [1], e a utilização do mesmo será abordada a seguir:
O primeiro passo após baixar o pacote do site [1], é descompacta-lo conforme abaixo:
[root@localhost ~]# tar -xvzf shc-3.8.6.tgz
Depois, basta copiar o executável de nome shc da pasta gerada para um PATH padrão de seu sistema, como o /bin ou /usr/local/bin:
[root@localhost ~]# cp shc-3.8.6/shc /usr/local/bin/
Agora basta utilizar o “novo comando” para gerar seus binários comforme a sintaxe a seguir:
shc [OPÇÕES] -f [SHELL-SCRIPT]
Abaixo segue algumas opções:
-v : Mostra detalhes do processo de compilação
-r : Gera um binário compatível com mais de um sistema, portando o mesmo tipo de sistema operacional, e mesmos recursos contidos na shell-script (o binário será dependente dos recursos contidos no shell-script, como comandos, softwares terceiros, etc).
-f : Opção necessária para o compilador buscar o arquivo shell-script a ser compilado.
-T : Opção para gerar um binário “rastreavel” por software de debug, como strace.
Agora, vamos citar um exemplo de compilação simples de uma shell-script:
[root@localhost ~]# shc -v -r -f ARQUIVO.sh
O compilador nesta situação vai gerar um arquivo binário de nome ARQUIVO.sh.x. Agora basta renomeá-lo para um nome padrão e fazer uso do mesmo normalmente.
Por: Franklin Moretti
[1] – http://www.datsi.fi.upm.es/~frosal/
Fonte de pesquisa: http://www.vivaolinux.com.br/dicas/impressora.php?codigo=2271