This is actually a lot of fun. Never did it on Linux, but Windows PE EXE files make similar tricks possible. Windows 95 in particular was very permissive. Using a (very primitive, by today's standards) hex editor I tried making the ".text" section begin halfway through the header and bang! ..it worked, a revelation of sorts. I imagine today's loaders may be a bit more strict because of security but I guess you can always make your own loader :)
davidwritesbugs 2 hours ago [-]
I wonder how much of this could be done by a clever linker? There’s a lot of skill in there but how would an llm do, for the rest of us?
qsera 37 minutes ago [-]
Lot of useful info here! Good work!
Panzerschrek 2 hours ago [-]
The program described in this article is as simple as possible. What about something more complex, like basic "hello world"? It requires at least one more syscall and several bytes more data.
mrlonglong 45 minutes ago [-]
i386 are perhaps starting to die out. Has anything like this been done for amd64? Can we play such tricks with arm and aarch64?
Discussed here: https://news.ycombinator.com/item?id=48654411
Part 3: https://www.muppetlabs.com/~breadbox/software/tiny/somewhat....