shc
shc copied to clipboard
executable does not run again following reboot
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.
from shc.c:
-r Relax security. Make a redistributable binary"
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.
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:
- get the man text updated. So everybody can understand its a mandatory switch.
- fix the tool. Such that it creates binaries which by default survive reboot. A typical user would expect this behaviour.