Am Montag, 16. Juli 2007 schrieb Jan Handwerker:
Hallo,
hier die Reaktion vom OP :-) Thomas Moritz wrote:#
Am Samstag, 14. Juli 2007 schrieb Uwe Diederich:
http://www.datsi.fi.upm.es/~frosal/frosal.html
Allerdings muss dem OP bewusst sein, dass das Binary um einiges groesser ist, als das urspruengliche Script. Schuetzt aber gewaltig vor Fummlern :-)
MfG Th. Moritz
Wenn ich das richtig verstehe, handelt es sich dabei aber nicht um einen Compiler. Das Script wird lediglich in einen Container gepackt. An der "Tür" wird eine C-Wrapper gehängt, der es wieder auslesen und in einer Shell ausführt.
Das mit "shc -vrT -f filename" generierte ELF ist aber (egal wie) genau das was der OP wollte. Kein Klartext wegen Fummelei. Der C-Code ist Imho ein nettes Ueberbleibsel vom Compilieren.
vielen Dank für diesen Hinweis. Damit kann ich das Shellskript wirklich verstecken. In den meisten Fällen dürfte das wieder auspacken den Aufwand für das Selbstschreiben übertreffen. Allerdings steht auf der dazugehörigen Website explizit:
shc itself is not a compiler such as cc, it rather encodes and encrypts a shell script and generates C source code with the added expiration capability. It then uses the system compiler to compile a stripped binary which behaves exactly like the original script. Upon execution, the compiled binary will decrypt and execute the code with the shell -c option. Unfortunatelly, it will not give you any speed improvement as a real C program would.
shc's main purpose is to protect your shell scripts from modification or inspection. You can use it if you wish to distribute your scripts but don't want them to be easily readable by other people.
nun ja, das glaub ich nicht so recht. Was passiert, wenn /bin/sh durch ein eigenes Programm ersetzt, welches die auszuführenden Kommandos zuerst mal in eine Datei schreibt und dann ausführt. Security by obscurity....
Also das ausführbare C Programm erzeugt wieder den shell-skript Sourcecode, der aber direkt in einer Shell ausgeführt wird. shc ist kein Compiler.
Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer