Pliki wykonywalne - tworzenie najkrótszych

0

Hej,

Jakiś czas temu uczyłem się jaka jest struktura plików wykonywalnych pod różne systemy: Linux (ELF), Windows (PE) i Mac (Mach-O).
Próbowałem napisać jak najkrótsze pliki w edytorze heksadecymalnym, które będą zlinkowane z biblioteką standardową C, i wypiszą "hello, world!" (na Linuxie i na Macu z lazy binding). Na Maca było trudno napisać, bo dokumentacja jest raczej słabo dostępna, albo przynajmniej takie odniosłem wrażenie; poza tym mam tylko bardzo starego iBooka na PowerPC.

Jeżeli ktoś ma czas i ochotę, to może spróbować skrócić te programy i też podzielić się wynikiem. Przewiduję nagrodę, jeżeli uda się skrócić do co najmniej 80% oryginalnego rozmiaru :)

hello.zip

0

W ~64 bajtach da się na linuxa napisać w elf.
Na pewno musisz dać wszystkie headery, linux windows czy macos, bo system z headerów wyczytuje gdzie jak ma program stworzyć, co ma być readonly, a co executable, dla bezpieczeństwa bo normalnie to wszystko mogło by być byle jak wczytane.

Wszystkie headery i potem wypisanie na stdout czyli syscall na write i file descryptor 1.

1 użytkowników online, w tym zalogowanych: 0, gości: 1