\x7fELFp#e####
E r c e
L i h c
F n o h
printf Hello
# f -
echo -n , w
# H o
# e , r
# l l
# l w d
echo orld!
Note that non-ascii characters in the above source code will be escaped (such as \x9f).
Disassemble:
00000000 <.data>: 0: 7f 45 jg 0x47 2: 4c dec %esp 3: 46 inc %esi 4: 70 23 jo 0x29 6: 65 23 23 and %gs:(%ebx),%esp 9: 23 23 and (%ebx),%esp b: 20 0a and %cl,(%edx) d: 45 inc %ebp e: 20 20 and %ah,(%eax) 10: 20 72 20 and %dh,0x20(%edx) 13: 63 20 arpl %sp,(%eax) 15: 20 20 and %ah,(%eax) 17: 20 65 0a and %ah,0xa(%ebp) 1a: 4c dec %esp 1b: 20 20 and %ah,(%eax) 1d: 20 69 20 and %ch,0x20(%ecx) 20: 68 20 20 20 20 push $0x20202020 25: 63 0a arpl %cx,(%edx) 27: 46 inc %esi 28: 20 20 and %ah,(%eax) 2a: 20 6e 20 and %ch,0x20(%esi) 2d: 6f outsl %ds:(%esi),(%dx) 2e: 20 20 and %ah,(%eax) 30: 20 20 and %ah,(%eax) 32: 68 0a 70 72 69 push $0x6972700a 37: 6e outsb %ds:(%esi),(%dx) 38: 74 66 je 0xa0 3a: 20 48 65 and %cl,0x65(%eax) 3d: 6c insb (%dx),%es:(%edi) 3e: 6c insb (%dx),%es:(%edi) 3f: 6f outsl %ds:(%esi),(%dx) 40: 0a 23 or (%ebx),%ah 42: 20 20 and %ah,(%eax) 44: 20 66 20 and %ah,0x20(%esi) 47: 2d 20 20 20 20 sub $0x20202020,%eax 4c: 20 0a and %cl,(%edx) 4e: 65 63 68 6f arpl %bp,%gs:0x6f(%eax) 52: 20 2d 6e 20 2c 20 and %ch,0x202c206e 58: 77 20 ja 0x7a 5a: 0a 23 or (%ebx),%ah 5c: 20 20 and %ah,(%eax) 5e: 20 48 20 and %cl,0x20(%eax) 61: 20 20 and %ah,(%eax) 63: 20 20 and %ah,(%eax) 65: 20 6f 0a and %ch,0xa(%edi) 68: 23 20 and (%eax),%esp 6a: 20 20 and %ah,(%eax) 6c: 65 20 2c 20 and %ch,%gs:(%eax,%eiz,1) 70: 20 20 and %ah,(%eax) 72: 20 72 0a and %dh,0xa(%edx) 75: 23 20 and (%eax),%esp 77: 20 20 and %ah,(%eax) 79: 6c insb (%dx),%es:(%edi) 7a: 20 20 and %ah,(%eax) 7c: 20 20 and %ah,(%eax) 7e: 20 20 and %ah,(%eax) 80: 6c insb (%dx),%es:(%edi) 81: 0a 23 or (%ebx),%ah 83: 20 20 and %ah,(%eax) 85: 20 6c 20 77 and %ch,0x77(%eax,%eiz,1) 89: 20 20 and %ah,(%eax) 8b: 20 20 and %ah,(%eax) 8d: 64 0a 20 or %fs:(%eax),%ah 90: 65 63 68 6f arpl %bp,%gs:0x6f(%eax) 94: 20 20 and %ah,(%eax) 96: 6f outsl %ds:(%esi),(%dx) 97: 72 6c jb 0x105 99: 64 fs 9a: 21 .byte 0x21