Re: [OT] compilar script de shell?
2007/8/29, Iñaki Baz Castillo <ibc.listas@aliax.net>:
> El Miércoles, 29 de Agosto de 2007, Iñigo Tejedor Arrondo escribió:
> > El mié, 29-08-2007 a las 12:08 -0500, user name escribió:
> > > Pues eso, como puedo "compilar" o generar un ejecutable a partir de un
> > > script de shell, esto a fin de que no vean el codigo fuente?
> >
> > Perdona user name, se me fue al privado. Para todos los demás:
> >
> > Si que se puede y como (casi) siempre, a un golpe de apt-get :)
> >
> > apt-get install shc
> >
> > [inigo][imac]:~ $ cat test.sh
> > #!/bin/bash
> >
> > echo "Hola mundo"
> >
> > [inigo][imac]:~ $ shc -f test.sh
> > [inigo][imac]:~ $ file test.sh*
> > test.sh: Bourne-Again shell script text executable
> > test.sh.x: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
> > for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for
> > GNU/Linux 2.4.1, stripped
> > test.sh.x.c: ASCII C program text
> >
> > El .sh es el original
> > El .sh.x un binario (dinámico) que resulta ilegible
> > El .sh.c es el código fuente resultante en lenguaje C
> >
> > Tiene más opciones interesantes, como por ejemplo:
> >
> > If you supply an expiration date with the -e option the compiled binary
> > will refuse to run after the date specified. The message "Please
> > contact your provider" will be displayed instead. This message can
> > be changed with the -m option
> >
> > Y otras para poder usar debug, strace, ptrace, etc con el binario
> > resultante. Y una -r que dice que es para que el binario pueda correr en
> > una mayor cantidad de sistemas operativos.
> >
> > El simple "hola mundo" en sh, se convierte en esto:
> >
> > ELF0�4�4
> > (44�4����������0((�(���((�(�
> > Q�td/lib/ld-linux.so.2GNU
> >
> >
> > nW�q9�U$bY+�"�G��(� �!@��
> > $���|����z��� ��
> > �!�|N�g4uV��Ԕ ] : 4
> > __±└⎺┼_⎽├▒⎼├__ ┌␋␉␌.⎽⎺.6 ┬▒␋├⎻␋␍ ⎽├⎼␊⎼⎼⎺⎼ ±␊├␊┼┴ ±␊├⎻␋␍ ⎻␊⎼⎼⎺⎼ └▒┌┌⎺␌
> > ⎻┤├␊┼┴ ␌▒┌┌⎺␌ °⎻⎼␋┼├° ┐␋┌┌ °⎺⎼┐ ⎽⎽␌▒┼° ⎽├⎼␍┤⎻ └␊└⎽␊├ ±␊├⎻⎻␋␍ ⎻├⎼▒␌␊ ├␋└␊
> > ⎽⎻⎼␋┼├° ⎽├␍␊⎼⎼ __␊⎼⎼┼⎺_┌⎺␌▒├␋⎺┼ _IO_⎽├␍␋┼_┤⎽␊␍ _␊│␋├ __┌␋␉␌_⎽├▒⎼├_└▒␋┼
> > ⎺⎻␊┼ ␊│␊␌┴⎻ ␌┌⎺⎽␊ __␊┼┴␋⎼⎺┼ __│⎽├▒├ GLIBC_2.0
> > û ð¥ (c) $(c) ¦ ¦ ¦
> > ¦ ¦ ¦ ¦ ¦ $¦
> > (¦
> > 0¦4�8�<�@�D�H�L�P�T�X��`�d�U������< Éà ÿ5ø¥ÿ%ü¥ ÿ%
> > ¦ éàÿÿÿÿ%¦ éÐÿÿÿÿ¦ éÀÿÿÿÿ%
> > ¦ é°ÿÿÿÿ%¦ é ÿÿÿÿ%¦( éÿÿÿÿ
> > %¦0 éÿÿÿÿ%¦8 é⎻ÿÿÿÿ% ¦@ é◆ÿÿÿÿ%$¦H éPÿÿÿÿ%(¦P é@ÿÿÿÿ
> > %,¦X é0ÿÿÿÿ%0¦◆
> >
> > y multiplica por 253 su tamaño. En la descripción del paquete, dice que
> > no penaliza la velocidad de ejecución.
>
>
> Toma ya!
>
>
> --
> Iñaki Baz Castillo
>
Guau, suponia que algo asi debiera existir, pero no se me habia
presentado la oportunidad de investigar sobre una curiosidad como
esta, siempre se encuentra algo nuevo y apasionante, de verdad muy
interesante.
Reply to: