LINUX X86-64 / REVIEWED LITERAL BYTES
Four fewer bytes.
A visible tradeoff.
Both programs ask Linux to exit with status 42. The smaller payload uses more instructions and stack traffic. Its byte savings are measurable; no runtime speedup is claimed.
| Measure | Before | After |
|---|---|---|
| Payload bytes | 12 | 8 |
| ELF bytes | 132 | 128 |
| Instructions | 3 | 5 |
| Stack traffic | None | Two pushes, two pops |
33⅓% less executable instruction data; about 3% less ELF container data. The 120-byte ELF headers are unchanged.
SELECT AN OFFSET
Inspect the changed bits.
Rows align by byte offset. These are positional differences, not a claim that instructions correspond one to one.
Loading canonical source bytes…
Select a byte to see its XOR mask.
Why eight bytes work.
Before: direct immediates
MOV EAX,60 · MOV EDI,42 · SYSCALL
The two five-byte moves zero-extend their 32-bit values to RAX/RDI. SYSCALL contributes two bytes.
After: small immediates on the stack
PUSH 60 · POP RAX · PUSH 42 · POP RDI · SYSCALL
Each two-byte PUSH sign-extends an eight-bit immediate to a 64-bit word. A one-byte POP selects the register and restores RSP. These positive constants retain their intended values.
These mnemonics explain the handwritten bytes. Linux x86-64 CI runs the two curated ELF files and checks status 42; this page does not execute them in the browser.