2007/8/29, Iñaki Baz Castillo <[EMAIL PROTECTED]>: > 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��(� [EMAIL PROTECTED] > > $���|����z��� �� > > �!�|N�g4uV��Ԕ ] : 4 > > __±└⎺┼_⎽├▒⎼├__ ┌␋␉␌.⎽⎺.6 ┬▒␋├⎻␋␍ ⎽├⎼␊⎼⎼⎺⎼ ±␊├␊┼┴ ±␊├⎻␋␍ ⎻␊⎼⎼⎺⎼ └▒┌┌⎺␌ > > ⎻┤├␊┼┴ ␌▒┌┌⎺␌ °⎻⎼␋┼├° ┐␋┌┌ °⎺⎼┐ ⎽⎽␌▒┼° ⎽├⎼␍┤⎻ └␊└⎽␊├ ±␊├⎻⎻␋␍ ⎻├⎼▒␌␊ ├␋└␊ > > ⎽⎻⎼␋┼├° ⎽├␍␊⎼⎼ __␊⎼⎼┼⎺_┌⎺␌▒├␋⎺┼ _IO_⎽├␍␋┼_┤⎽␊␍ _␊│␋├ __┌␋␉␌_⎽├▒⎼├_└▒␋┼ > > ⎺⎻␊┼ ␊│␊␌┴⎻ ␌┌⎺⎽␊ __␊┼┴␋⎼⎺┼ __│⎽├▒├ GLIBC_2.0 > > û ð¥ (c) $(c) ¦ ¦ ¦ > > ¦ ¦ ¦ ¦ ¦ $¦ > > (¦ > > 0¦4�8�<[EMAIL PROTECTED]< Éà ÿ5ø¥ÿ%ü¥ ÿ% > > ¦ éàÿÿÿÿ%¦ éÐÿÿÿÿ¦ éÀÿÿÿÿ% > > ¦ é°ÿÿÿÿ%¦ é ÿÿÿÿ%¦( éÿÿÿÿ > > %¦0 éÿÿÿÿ%¦8 é⎻ÿÿÿÿ% ¦@ é◆ÿÿÿÿ%$¦H éPÿÿÿÿ%(¦P [EMAIL > > PROTECTED] > > %,¦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.