At the end, it looks like it's just a regular sh script:
[USER@MACHINE ~/Desktop/D] head -2 truecrypt-7.1-setup-x86
#!/bin/sh
CHECKSUM=163123652
but @the scripts end:
[USER@MACHINE ~/Desktop/D] tail -2 truecrypt-7.1-setup-x86
5��\V<Rx+÷o��6ܺF!&8�ʷ�����^��T4
Sk�!�0"�W���L�`���Su�VP�!m�]5����C'}�/���%�������8�4�?�N;:��zgf�q�14S%oL�hҌz����+����Ƥ<'��jN7)m�H�^�ɧa��:�S���so[�$_�/Ø��&#X�+x����
Sd hz=��H����)n�_�������48�,4�M�x�w��z�Mp��)�Ѩa=2a��0ۙI
���YI��`��om��0�3���,�}�ȇ��I.��G���x���g��ЌÞ%�H��4�ڛ{35��0�C!�$Fԝ�?�.�T�UǺEa���38sl)��[x"��,
/�/���o���hV���R�`���nʂ�a��ۛ=~{#��FV����35�5Y;k��D��[mK����9 *lY��hD�:��{n�����$^�'���w�!$��Ĝ������*�����!'�?����?����?�+�L#(+�V
well.. binary data.. how??
[USER@MACHINE ~/Desktop/D] file truecrypt-7.1-setup-x86
truecrypt-7.1-setup-x86: POSIX shell script text executable
[USER@MACHINE ~/Desktop/D]
How could the file contain ASCII + binary data too? The script is launched as a script, but ends with binary data? How can they do that?? How can I keep a "hello word" binary at the end of a script? [and launch the binary part from the script?]
cat script_text_file.sh binaryfile > file_that_contains_both.shAs far as invoking the binary from the shell, that I don't know. If the binary is compressed data, extraction may not be too hard if the extraction program "opens itself" and waits to perform decompression until it sees a header, which could be made not to appear until the binary part starts. – ultrasawblade Sep 5 '12 at 14:31