domingo, 5 de junio de 2011

Convertir un Script en Bash en un Binario

Descargamos los fuentes:
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz


Descomprimimos:
tar xzvf shc-3.8.7.tgz


Compilamos:
cd shc-3.8.7/
make


Creamos el script en bash:
vim pepe.sh

#!/bin/bash
ls


Damos permisos de ejecución:
chmod a+x pepe.sh


Ejecutamos el script en bash:
./pepe.sh

CHANGES Makefile pepe.sh shc shc-3.8.7.c shc.html test.bash test.ksh
Copying match pru.sh shc.1 shc.c shc.README test.csh


Ejecuto el SHC para transformar el script en bash en binario:
./shc -f pepe.sh


Ejecutamos el archivo ya transformado, nos genera un archivo con el mismo nombre pero con un .x al final:
./pepe.sh.x

CHANGES match pepe.sh.x.c shc.1 shc.html test.csh
Copying pepe.sh pru.sh shc-3.8.7.c shc.README test.ksh
Makefile pepe.sh.x shc shc.c test.bash


Cambiamos el nombre:
mv pepe.sh.x pepe


Ejecutamos el comando ya hecho binario:
./pepe

CHANGES match pepe.sh.x.c shc.1 shc.html test.csh
Copying pepe pru.sh shc-3.8.7.c shc.README test.ksh
Makefile pepe.sh shc shc.c test.bash


Vemos el contenido del archivo que no es legible:
vim pepe

^?ELF^A^A^A^@^@^@^@^@^@^@^@^@^B^@^C^@^A^@^@^@>>^D^H4^@^@^@@^Z^@^@^@^@^@^@4^@
........
........

No hay comentarios: