Curiosidades, dicas e notícias de Linux, Windows e muito mais!



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 help

EXEMPLOS

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.

Comments

3 Responses to “Compilador de Shell Script”

  1. Vicente via Rec6
    December 12th, 2008 @ 18:14
    Compilador de Shell Script…

    leia mais……

  2. vicentesloboda no diHITT
    December 12th, 2008 @ 18:15
    Compilador de Shell Script…

    leia mais……

  3. Fique por dentro Compilador » Blog Archive » Compilador de Shell Script - Blog do Vicente
    January 22nd, 2009 @ 5:10
    [...] pois se o fizesse a velocidade dos scripts aumentaria consideravelmente. … fique por dentro clique aqui. Fonte: [...]

Deixe um comentário!





CommentLuv Enabled
  • Assine nossa lista: