LINUX.ORG.RU

Как совместить bash-скрипт с executable file?


0

0

Видел такое пару раз. В начале идет полноценный bash-скрипт,
а за ним сразу в этом же файле бинарный код:

!/bin/sh
..............
КОД СКРИПТА
..............
ELF EXECUTABLE

Я запускаю скрип, он как-то работает, и после этого может
запустить встроенный екзешник. 
Наверно, есть какой-то тул, который позволяет делать такое?
Подскажите, как делать такие файлы, плиз.
Заранее спасибо.
anonymous

вопрос закрыт

anonymous
()

во первых есть тулы которые могут бинарный код перекодировать в текст.  Например od, uuencode, openssl.

Во вторых ты этот код можешь опять загнать в бинарный файл:
смотри man sh на предмет redirection <<

типа так:
cat << end_executable | openssl base64 -d > /tmp/executable
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEFAFR5ET8AAAAA
AAAAAOAADwILAQI4AAQBAAAUAQAABgAAABAAAAAQAAAAIAEAAABAAAAQAAAAAgAA
BAAAAAEAAAAEAAAAAAAAAABgAQAABAAAd4sBAAMAAAAAACAAABAAAAAAEAAAEAAA
AAAAABAAAAAAAAAAAAAAAABQAQBcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
6AIBAAAQAAAABAEAAAQAAAAAAAAAAAAAAAAAAGAAAOAuZGF0YQAAAGABAAAAIAEA
AAIAAAAIAQAAAAAAAAAAAAAAAABAAADALnJkYXRhAADoAwAAADABAAAEAAAACgEA
AAAAAAAAAAAAAAAAQAAAwC5ic3MAAAAA0AUAAABAAQAAAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAMAuaWRhdGEAAFwIAAAAUAEAAAoAAAAOAQAAAAAAAAAAAAAAAABAAADA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
end_executable
/tmp/executable

dilmah ★★★★★
()

echo "This is my bin file!"
read
tail +7 $0 > ./my_bin
chmod +x ./my_bin
./my_bin
exit 0
.ELF....................pv..4.....
и т.д. идёт тело бинарника.

RomanU
()
Ответ на: комментарий от RomanU

Всем спасибо! :) Я только что из другого места узнал способо, предложенный RomanU.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.