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 > û 𥠩 $© ¦ ¦ ¦ > ¦ ¦ ¦ ¦ ¦ $¦ > (¦ > 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

