Pull to refresh

Comments 11

Если в конце все равно используется gzip, то было бы интересно проверить — не стал бы конечный архив меньше, если не заниматься оптимизацией бинарника через hex-editor?
А насколько может увеличиться подобный образ, если добавить обработку стандартных сигналов?

Хм, просто скомпилировав в FASM получаются 91 байта:


        format ELF executable 3
        entry  _start

_start:
        mov     eax, 29
        int     0x80

А "Hi world" – 127 байта:


        format ELF executable 3
        entry  _start

msg     db "Hi World",10
.len    =  $-msg

_start:
        mov     edx,msg.len
        mov     ecx,msg
        mov     ebx,1
        mov     eax,4
        int     0x80

        mov     ebx,0
        mov     eax,1
        int     0x80
При ELF64
Первое — 127 байт, второе — 163.

Кстати, ELF32 вполне хорошо работает на 64 битовую архитектуру. Только нельзя использовать библиотеки. Но эти бинарники используют только системные вызовы через int 80h, которые всегда 32 битовые, даже если и скомпилировать программу в ELF64.

А что делает этот образ? В смысле для чего его можно применить? И в чем суть того, что программа именно бесконечно ждёт, а не сразу завершается?
Тестировать всякие оркестраторы контейнеров.
Sign up to leave a comment.