neurobin / shc

Shell script compiler
https://neurobin.org/projects/softwares/unix/shc/
GNU General Public License v3.0
2.04k stars 348 forks source link

executable does not run again following reboot #151

Open james-h-dt opened 1 year ago

james-h-dt commented 1 year ago

Compiled simple shell script to executable with command line: shc -S -f <my-script-filename> Tested resulting executable several times. Runs as expected. Rebooted machine. Tried to run executable. Executable fails and outputs random-seeming characters to stdout

Workaround: Recompiled with modified flags: shc -r -S -f <my-script-filename> Executable now survives reboot.

ihiiro commented 1 year ago

from shc.c:

-r Relax security. Make a redistributable binary"

M-Stenzel commented 1 year ago

Interesting, I have the same issue. But I wonder, it is the very same machine, same architecture, same Linux OS, what is different after a reboot? There might be changes in /proc, /sys, and /dev - maybe. But what is the real explanation?

Martin.

james-h-dt commented 1 year ago

See also https://github.com/neurobin/shc/issues/130. Looks like the same issue.

No idea why "-r" switch works. The manual text talks about "relaxing security".

The "-r" switch seems to be an undocumented mandatory switch to get expected behaviour.

Agree would be interesting understanding why it's reqired.

Would be even better to either:

  1. get the man text updated. So everybody can understand its a mandatory switch.
  2. fix the tool. Such that it creates binaries which by default survive reboot. A typical user would expect this behaviour.