Mailinglist Archive: opensuse-de (1512 mails)

< Previous Next >
Re: bash-skript compilieren
  • From: Jan Handwerker <techuser.handwerker@xxxxxxxxxx>
  • Date: Mon, 16 Jul 2007 11:42:39 +0200
  • Message-id: <469B3D8F.3070803@imk.fzk.de>
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.

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.

Trotzdem herzlichen Dank für den Link!

Herzliche Grüße
Jan
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups