¿Cómo puedo cifrar o codificar mi script de shell para que sea ilegible a simple vista? Cualquiera de los métodos sería aceptable, proporcione pasos específicos.
shell-script
RAM
fuente
fuente
Respuestas:
SHC
Puede probar los pasos descritos en este sitio web, titulados: Cómo cifrar su script Bash Shell en Linux usando SHC . Este artículo trata sobre el uso de una herramienta llamada SHC - Shell Script Compiler .
Recursos de URL
Este es un ejecutable que tendrás que construir usando gcc / g ++.
Uso
Una vez que ejecute su script de shell,
random.sh
se convertirá en este archivo:¿Es esto infalible?
No, hay un buen análisis del método utilizado por la herramienta SHC que muestra que no es demasiado fuerte y puede eludirse si sabe lo que está haciendo. El artículo fue publicado en el sitio web linuxjournal.com, titulado: Paranoid Penguin: limitaciones de shc, una utilidad de cifrado de Shell .
NOTA: Estas clases de herramientas probablemente se describan mejor como ofuscadores.
fuente
fg
para llevarlo al primer plano y luego funcionó bien. Todavía estoy buscando alternativas.Si desea cifrar un script de shell, use GPG . Quien quiera ejecutar su script tendrá que descifrarlo primero.
Si desea que alguien pueda ejecutar el script pero no leerlo, ese es un problema completamente diferente que no tiene nada que ver con el cifrado. Se llama ofuscación .
Si tiene una contraseña u otra información confidencial en ese script, ninguna cantidad de ofuscación la ocultará. Tarde o temprano, el script usará la contraseña para hacer algo y en ese momento la contraseña aparecerá claramente para cualquiera que la busque.
Si quieres ocultar cómo funciona tu script porque tienes miedo de que alguien lo copie, olvídalo. A nadie le importa.
Si quieres ocultar tu script porque te da vergüenza su calidad, arréglalo.
Si desea ocultar cómo funciona su script porque desea ocultar lo que hace, no es factible. Alguien puede mirar su script mientras se ejecuta y ver lo que está haciendo.
Si ha leído hasta ahora y todavía quiere "cifrar" su secuencia de comandos, está malinterpretando algo importante. No envíe su guión a nadie, ni lo envíe en texto plano.
fuente
Obtuve esto mientras buscaba en internet, cortesía de Claudio P.
Escribe tu script (script-base.sh)
Cifre su script (proporcione una contraseña):
Escriba de Wrapper (script-final.sh):
Ejecute "script-final.sh", ingrese la contraseña y la secuencia de comandos se ejecutará sin escribir la secuencia de comandos de texto sin formato en el disco.
fuente
Básicamente puedes ofuscar pero no compilar tu script. La razón simple es que los scripts de shell son comandos individuales interpretados que deben ser ejecutados uno por uno por el sistema, y que puede ver esos comandos a medida que el sistema los ejecuta uno por uno con la
sh -x
bandera (y quizás también el -v bandera)Para la mayoría de los programadores, eso será suficiente para entender lo que está sucediendo.
Puede ofuscar sus variables y flujo general si lo desea, pero no puede ofuscar los comandos individuales ejecutados por su programa, que generalmente son todos ellos para los scripts de shell .
La solución más simple es probablemente reescribir el script de shell en un lenguaje compilado como C.
fuente
intente enviar su script a este sitio si desea ocultarlo de la vista pública.
Si bien muchos pueden estar en desacuerdo con la idea de cifrar u ofuscar el código fuente de un script escrito en un idioma interpretado, entiendo por qué la gente quiere hacer esto.
Como alguien a quien le han robado su trabajo muchas veces, simplemente no me importa si la "ofuscación" o el "cifrado" es un tabú. Mientras mi script esté protegido y funcione como lo hacía antes del cifrado, estoy bastante contento. nunca más permitiré que alguien más tome mis ideas y las ejecute. y no, escribir mi script en un lenguaje compilado no es una opción. no sé cómo.
de todos modos, si no desea utilizar el sitio mencionado anteriormente, pruebe la última versión de shc. Creo que lo han actualizado en github para abordar las muchas preocupaciones de seguridad que otros han mencionado. escriba lo siguiente en google " shc github " y verá una gran cantidad de opciones disponibles que puede probar.
¡buena suerte!
fuente