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
| 0000000000001189 <main>:
int main() { 1189: f3 0f 1e fa endbr64 118d: 55 push %rbp 118e: 48 89 e5 mov %rsp,%rbp 1191: 48 83 ec 20 sub $0x20,%rsp 1195: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax 119c: 00 00 119e: 48 89 45 f8 mov %rax,-0x8(%rbp) 11a2: 31 c0 xor %eax,%eax char array[10]; array[0] = 0x56; 11a4: c6 45 ee 56 movb $0x56,-0x12(%rbp) array[1] = 0x78; 11a8: c6 45 ef 78 movb $0x78,-0x11(%rbp) array[9] = 0x12; 11ac: c6 45 f7 12 movb $0x12,-0x9(%rbp) char *p = (char *)malloc(10); 11b0: bf 0a 00 00 00 mov $0xa,%edi 11b5: e8 d6 fe ff ff callq 1090 <malloc@plt> 11ba: 48 89 45 e0 mov %rax,-0x20(%rbp) p[0] = 0x34; 11be: 48 8b 45 e0 mov -0x20(%rbp),%rax 11c2: c6 00 34 movb $0x34,(%rax) p[1] = 0x12; 11c5: 48 8b 45 e0 mov -0x20(%rbp),%rax 11c9: 48 83 c0 01 add $0x1,%rax 11cd: c6 00 12 movb $0x12,(%rax) printf("%p\n%p\n%p\n%p\n", array, &array, p, &p); 11d0: 48 8b 4d e0 mov -0x20(%rbp),%rcx 11d4: 48 8d 75 e0 lea -0x20(%rbp),%rsi 11d8: 48 8d 55 ee lea -0x12(%rbp),%rdx 11dc: 48 8d 45 ee lea -0x12(%rbp),%rax 11e0: 49 89 f0 mov %rsi,%r8 11e3: 48 89 c6 mov %rax,%rsi 11e6: 48 8d 3d 17 0e 00 00 lea 0xe17(%rip),%rdi 11ed: b8 00 00 00 00 mov $0x0,%eax 11f2: e8 89 fe ff ff callq 1080 <printf@plt> 11f7: b8 00 00 00 00 mov $0x0,%eax 11fc: 48 8b 7d f8 mov -0x8(%rbp),%rdi 1200: 64 48 33 3c 25 28 00 xor %fs:0x28,%rdi 1207: 00 00 1209: 74 05 je 1210 <main+0x87> 120b: e8 60 fe ff ff callq 1070 <__stack_chk_fail@plt> 1210: c9 leaveq 1211: c3 retq 1212: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 1219: 00 00 00 121c: 0f 1f 40 00 nopl 0x0(%rax)
BASH
|