Bueno el hecho es que esto solo seria valido si nuestro script fuera un gran script,lo suficiente para que valiera la pena encriptarlo,pero al encriptarlo donde queda la licencia de Software Libre, esta:
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
bueno en mi opinión incluso un script encriptado podria llevar esa licencia solo que tambien entregar el script original y el binario
En cuanto al programa que usaremos para compilar nuestros scripts se llama shc
Wiki
Por ejemplo mi script para convertir vídeos luce así compilado
Muy distinto a como luce el original
Bueno el script de la entrada pasada es este,por si quieren editarlo mejorarlo o estudiarlo con lo que hemos aprendido en los tutoriales de bash:
No esta guiado ya que es muy simple y si han estudiado los tutoriales bash del sitio,les dejo de tarea que lo guíen con comentarios
#!/bin/bash
# Programador: Tiempo de Tux
# Pagina web: www.itimetux.com
echo -e "\e[1;35m_______________________________________________________\e[0m"
echo -e "\e[1;35m--------Convierte tus videos mp4 a musica mp3--------------------------\e[0m"
echo -e "\e[1;35m----------------------------------------------------------------------------------------\e[0m"
echo -e '\e[0;31m# Asegurate de tener instalado ffmpeg y zenity\e[0m'
echo 'Deseas continuar(Si,No)'
read opcion
case $opcion in
si|SI|Si)
echo "Seleciona un video"
for archivo in `zenity --file-selection --file-filter=*.mp4`
do
if [ -f $archivo ]
then
echo 'Como se va a llamar la pista de audio?'
read option
echo -e '\e[0;31m# Si presionas ctrl+c en el transcurso puede que no se complete la conversion\e[0m'
echo "Convertir(Si,No)"
read opciion
case $opciion in
si|SI|Si)
ffmpeg -i $archivo $option.mp3
echo "Listo tu archivo se guardo en $PWD"
echo "Si presionaste ctrl+c puede que este incompleto"
;;
no|NO|No)
exit 0;
;;
esac
fi
done
;;
no|NO|No)
exit 1;
;;
*)
echo "Esa no es una opcion :("
exit 2;
;;
esac
# Fin del codigo
Y les dejo el Ecriptado
Enlace
Tutorial compilar scripts sh
Para compilar nuestros scripts necesitaremos descargar sch y compilarlo para que funcione
1.Descarga(3.8.7)
Enlace
Si tienen wget usen esta orden
wget http://www.datsi.fi.upm.es/ frosal/sources/shc-3.8.7.tgz
2. Descompriman y acedan a la carpeta
tar xvfz shc-3.8.7.tgz
cd shc-3.8.73.Copilamos
make
sudo install -D -s shc /usr/bin/shc
sudo install -D -m 644 shc.1 /usr/man/man1/shc.1
4.Usamos
Debemos acceder a la carpeta donde tengamos el script,por ejemplo documentos
cd ~/DocumentosAhora compilamos el script
shc -f nombre.shBien este comando creara dos archivos ademas de dejar el original
Crearan los archivos con extensión .sh.x.c y el archivo .sh.x
El archivo .sh.x es el script ofuscado
Y el archivo .sh.x.c es el código fuente en C del archivo.sh,este archivo en C se usa para crear el archivo encriptado
Bueno si lo ejecutan con el interprete no funcionara
bash archivo.sh
Lo tendremos que ejecutar dándole permisos de ejecución
chmod +x archivo.sh.x
./archivo.sh.x
Pero este archivo solo lo podremos usar nosotros,osea no lo podremos compartir con nadie
Ahora como compartir el script encriptado
Pues usando este código
shc -v -r -T -f archivo.sh
De esa manera podrás compartir el archivo,pero ecriptado
De hecho hasta le podemos poner fecha de caducidad por si queremos que al usarlo se pongan en contacto con notros o queramos venderlo,etc
Por ejemplo para que el convertidor de videos solo sirviera hasta el 21 del 12 del 2012 xD
Usaríamos este comando
shc-e-m 21/12/2012 "Lo siento el script ya no sirve ya se acabo el mundo xD"-f convertidor.sh
Y al ejecutarlo despues de esa fecha no se ejecutara se ejecutara el mensaje
Eso es todo, investiguen un poco mas sobre shc o sobre la ingeniería inversa si les interesa este tema
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.