Compilador de Shell Script
Publicado em 12/12/2008 | Autor Márcio
Você já ouviu falar no shc? Ele é um “compilador” de shell script para Linux criado por Francisco Rosales. Coloco o termo compilador entre aspas por que não é exatamente isto que ele faz, pois se o fizesse a velocidade dos scripts aumentaria consideravelmente. Na realidade ele cria um programa em C com o script criptografado dentro dele, quando executado o programa em C extrai e executa o script.
É uma ótima solução se você precisar distribuir um shell script mas não quer que ninguém veja o seu conteúdo, principalmente se o script contiver senhas. Mas, como tudo neste mundo, provavelmente deve ter como quebrar a proteção.
A instalação é relativamente fácil. Faça o download do shc, extraia-o e dê um make. Será criado o executável shc.
Um resumo da sintaxe do comando.
shc – Compilador de shell script genérico
SINTAXE:
shc [ -e data ] [ -m mensgem ] [ -i iopt ] [ -x cmnd ] [ -l lopt ] [ -ACDhTv ] -f script
DESCRIÇÃO:
shc cria uma versão binária executável do script especificado com a opção -f na linha de comando.
A versão binária terá uma extensão .x adicionada ao final do nome do arquivo e terá um tamanho maior que o script original. O código fonte do programa C gerado é salvo com a extensão .x.c
Pode ser fornecida uma data de expiração para o binário através da opção -e. Quando ele expirar será mostrada a mensagem “Please contact your provider”. Esta mensagem pode ser alterada com a opção -m.
O binário compilado continuára dependente da existência do shell do script original que deve ser especificado na primeira linha de código (por exemplo: #!/bin/bash).shc não é um compilador, ele codifica e criptografa um script shell e cria um código fonte em liguagem C. Então ele usa o compilador C do sistema para compilar um binário que faz exatamente o que o script shell foi programado para fazer. Não há melhora na velocidade.
A principal finalidade do shc é proteger scripts shell de leitura e alteração. Você deve usá-lo se desejar distribuir seus scripts mas não quer que ele seja facilmente lido por qualquer pessoa.
OPÇÕES (não traduzi todas)
As opções de linha de comando são:
-e data
Data de expiração-m mensagem
Mensagem de expiração ["Please contact your provider"]-f nome_do_script
Nome do script a ser compilado-r
Segurança relaxada. Cria um binário que pode ser executado em outras máquinas rodando o mesmo sistema operacional, caso contrário ele só funcionará na máquina onde foi compilado-v
Compilação com verbose-T
Permite fazer trace do binário (usando strace, ptrace, truss, etc.)-C
Apenas mostra a licença-A
Apenas mostra um resumo-h
Apenas mostra um helpEXEMPLOS
Compila um script que pode ser executado em outras máquinas com a opção trace habilitada:
% shc -v -r -T -f myscript
AUTOR
Francisco Rosales
Fiz vários testes e funcionou direitinho.
3 comentários, comente você também!
Categoria: Linux, Sistema Operacional, Todos, dicas, softwareTags: compilador shell, francisco rosales, shc
Comments
3 Responses to “Compilador de Shell Script”
Deixe um comentário!


December 12th, 2008 @ 18:14
leia mais……
[Translate]
December 12th, 2008 @ 18:15
leia mais……
[Translate]
January 22nd, 2009 @ 5:10
[Translate]