[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] compilar script de shell?



2007/8/29, Pablo Trujillo <pabloctrujillov@gmail.com>:
> 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.
>
Está curioso, probablemente le meta un system ("script") o algo
similar en c y lo compile. No bastaría con eso?

-- 
"... may the source be with you..."

Reply to: