=>0x0000555555555145 <+0>: push rbp =>0x0000555555555146 <+1>: mov rbp,rsp =>0x0000555555555149 <+4>: sub rsp,0x20 =>0x000055555555514d <+8>: mov DWORD PTR [rbp-0x14],edi =>0x0000555555555150 <+11>: mov QWORD PTR [rbp-0x20],rsi =>0x0000555555555154 <+15>: lea rdi,[rip+0xea9] # 0x555555556004 =>0x000055555555515b <+22>: call 0x555555555040 < puts@plt> =>0x0000555555555160 <+27>: mov rax,QWORD PTR [rbp-0x20] =>0x0000555555555164 <+31>: add rax,0x8 =>0x0000555555555168 <+35>: mov rdx,QWORD PTR [rax] =>0x000055555555516b <+38>: lea rax,[rbp-0x8] =>0x000055555555516f <+42>: mov rsi,rdx =>0x0000555555555172 <+45>: mov rdi,rax =>0x0000555555555175 <+48>: call 0x555555555030 < strcpy@plt> =>0x000055555555517a <+53>: mov eax,0x0 =>0x000055555555517f <+58>: leave =>0x0000555555555180 <+59>: ret
break /// main
memory lower addresses /------------------\ rax rbp r8 r12 | | rbp rsi r9 r13 | Text | rcx rdi r10 r14 | | rdx rsp r11 r15 |------------------| | | | | | (Initialized) | rip ----------|----------------- | Data | | | (Uninitialized) | | |------------------| <-------- ################### | | # # | Heap | # CPU # | | # # |------------------| --------> ################### | | | Stack | | | \------------------/ higher addresses buffer sfp ret a b c <------ [SSSSSSSSSSSSSSSSSSSS][SSSS][0xD8][0x01][0x02][0x03] ^ | |____________________________| top of bottom of stack stack
execve("./binary", ["./binary"], 0x7ffffdc61ba0 /* 19 vars */) = 0 brk(NULL) = 0x56220b7f7000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=32989, ...}) = 0 mmap(NULL, 32989, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7feafdf09000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260A\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1824496, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7feafdf07000 mmap(NULL, 1837056, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7feafdd46000 mprotect(0x7feafdd68000, 1658880, PROT_NONE) = 0 mmap(0x7feafdd68000, 1343488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7feafdd68000 mmap(0x7feafdeb0000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16a000) = 0x7feafdeb0000 mmap(0x7feafdefd000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x7feafdefd000 mmap(0x7feafdf03000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7feafdf03000 close(3) = 0 arch_prctl(ARCH_SET_FS, 0x7feafdf08500) = 0 mprotect(0x7feafdefd000, 16384, PROT_READ) = 0 mprotect(0x562209d57000, 4096, PROT_READ) = 0 mprotect(0x7feafdf39000, 4096, PROT_READ) = 0 munmap(0x7feafdf09000, 32989) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0 brk(NULL) = 0x56220b7f7000 brk(0x56220b818000) = 0x56220b818000 write(1, "hack\n", 5hack ) = 5 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} --- +++ killed by SIGSEGV +++ Segmentation fault
00001000 48 83 ec 08 48 8b 05 dd 2f 00 00 48 85 c0 74 02 |H...H.../..H..t.| 00001010 ff d0 48 83 c4 08 c3 00 00 00 00 00 00 00 00 00 |..H.............| 00001020 ff 35 e2 2f 00 00 ff 25 e4 2f 00 00 0f 1f 40 00 |.5./...%./....@.| 00001030 ff 25 e2 2f 00 00 68 00 00 00 00 e9 e0 ff ff ff |.%./..h.........| 00001040 ff 25 da 2f 00 00 68 01 00 00 00 e9 d0 ff ff ff |.%./..h.........|
########################################################################################### ### ### ### ### ### APPLICATIONS ### ### ### ### ### ############################################ ^ ############################################ | | ########################################################################################### ### ### ### ### ### KERNEL ### ### ### ### ### ############ ^ ############################## ^ ############################## ^ ########## | | | | | | *&&&&&&&&&&&& &&&&&&&&&&&&* *&&&&&&&&&&&& &&&&&&&&&&&&* *&&&&&&&&&&&&& &&&&&&&&&&&* *& &* *& &* *& &* *& &* *& &* *& &* *& CPU &* *& Memory &* *& Devices &* *& &* *& &* *& &* *& &* *& &* *& &* *& &* *& &* *& &* *&&&&&&&&&&&&&&&&&&&&&&&&&* *&&&&&&&&&&&&&&&&&&&&&&&&&* *&&&&&&&&&&&&&&&&&&&&&&&&&*
[ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x0000555555555145 β <main+0> push rbp $rbx : 0x0 $rcx : 0x00007ffff7fc0718 β 0x00007ffff7fc1d80 β 0x0000000000000000 $rdx : 0x00007fffffffe648 β 0x00007fffffffe85f β "SHELL=/bin/bash" $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rdi : 0x1 $rip : 0x0000555555555154 β <main+15> lea rdi, [rip+0xea9] # 0x555555556004 $r8 : 0x00007ffff7fc1d80 β 0x0000000000000000 $r9 : 0x00007ffff7fc1d80 β 0x0000000000000000 $r10 : 0x0 $r11 : 0x206 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x555555555149 <main+4> sub rsp, 0x20 0x55555555514d <main+8> mov DWORD PTR [rbp-0x14], edi 0x555555555150 <main+11> mov QWORD PTR [rbp-0x20], rsi β 0x555555555154 <main+15> lea rdi, [rip+0xea9] # 0x555555556004 0x55555555515b <main+22> call 0x555555555040 <puts@plt> 0x555555555160 <main+27> mov rax, QWORD PTR [rbp-0x20] 0x555555555164 <main+31> add rax, 0x8 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] 0x55555555516b <main+38> lea rax, [rbp-0x8] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555154 in main (), reason: BREAKPOINT ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555154 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x000055555555515b 8 puts("hack"); [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x0000555555555145 β <main+0> push rbp $rbx : 0x0 $rcx : 0x00007ffff7fc0718 β 0x00007ffff7fc1d80 β 0x0000000000000000 $rdx : 0x00007fffffffe648 β 0x00007fffffffe85f β "SHELL=/bin/bash" $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rdi : 0x0000555555556004 β 0x000000006b636168 ("hack"?) $rip : 0x000055555555515b β <main+22> call 0x555555555040 <puts@plt> $r8 : 0x00007ffff7fc1d80 β 0x0000000000000000 $r9 : 0x00007ffff7fc1d80 β 0x0000000000000000 $r10 : 0x0 $r11 : 0x206 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x55555555514c <main+7> and BYTE PTR [rcx-0x76b71383], cl 0x555555555152 <main+13> jne 0x555555555134 <__do_global_dtors_aux+52> 0x555555555154 <main+15> lea rdi, [rip+0xea9] # 0x555555556004 β 0x55555555515b <main+22> call 0x555555555040 <puts@plt> β³ 0x555555555040 <puts@plt+0> jmp QWORD PTR [rip+0x2fda] # 0x555555558020 <puts@got.plt> 0x555555555046 <puts@plt+6> push 0x1 0x55555555504b <puts@plt+11> jmp 0x555555555020 0x555555555050 <__cxa_finalize@plt+0> jmp QWORD PTR [rip+0x2fa2] # 0x555555557ff8 0x555555555056 <__cxa_finalize@plt+6> xchg ax, ax 0x555555555058 add BYTE PTR [rax], al ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ arguments (guessed) ββββ puts@plt ( $rdi = 0x0000555555556004 β 0x000000006b636168 ("hack"?), $rsi = 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary", $rdx = 0x00007fffffffe648 β 0x00007fffffffe85f β "SHELL=/bin/bash" ) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x55555555515b in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x55555555515b β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x5 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x00007ffff7fc28c0 β 0x0000000000000000 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0000555555559260 β 0x0000000a6b636168 ("hack\n"?) $rdi : 0x0 $rip : 0x0000555555555160 β <main+27> mov rax, QWORD PTR [rbp-0x20] $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x555555555150 <main+11> mov QWORD PTR [rbp-0x20], rsi 0x555555555154 <main+15> lea rdi, [rip+0xea9] # 0x555555556004 0x55555555515b <main+22> call 0x555555555040 <puts@plt> β 0x555555555160 <main+27> mov rax, QWORD PTR [rbp-0x20] 0x555555555164 <main+31> add rax, 0x8 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555160 in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555160 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x0000555555555164 10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x00007ffff7fc28c0 β 0x0000000000000000 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0000555555559260 β 0x0000000a6b636168 ("hack\n"?) $rdi : 0x0 $rip : 0x0000555555555164 β <main+31> add rax, 0x8 $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x555555555154 <main+15> lea rdi, [rip+0xea9] # 0x555555556004 0x55555555515b <main+22> call 0x555555555040 <puts@plt> 0x555555555160 <main+27> mov rax, QWORD PTR [rbp-0x20] β 0x555555555164 <main+31> add rax, 0x8 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555164 in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555164 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe640 β 0x0000000000000000 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x00007ffff7fc28c0 β 0x0000000000000000 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0000555555559260 β 0x0000000a6b636168 ("hack\n"?) $rdi : 0x0 $rip : 0x0000555555555168 β <main+35> mov rdx, QWORD PTR [rax] $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry parity ADJUST sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x55555555515b <main+22> call 0x555555555040 <puts@plt> 0x555555555160 <main+27> mov rax, QWORD PTR [rbp-0x20] 0x555555555164 <main+31> add rax, 0x8 β 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> 0x55555555517a <main+53> mov eax, 0x0 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555168 in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555168 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x000055555555516b 10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe640 β 0x0000000000000000 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x0 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0000555555559260 β 0x0000000a6b636168 ("hack\n"?) $rdi : 0x0 $rip : 0x000055555555516b β <main+38> lea rax, [rbp-0x8] $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry parity ADJUST sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x555555555160 <main+27> mov rax, QWORD PTR [rbp-0x20] 0x555555555164 <main+31> add rax, 0x8 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] β 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> 0x55555555517a <main+53> mov eax, 0x0 0x55555555517f <main+58> leave ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x55555555516b in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x55555555516b β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x000055555555516f 10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe548 β 0x0000000000000000 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x0 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0000555555559260 β 0x0000000a6b636168 ("hack\n"?) $rdi : 0x0 $rip : 0x000055555555516f β <main+42> mov rsi, rdx $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry parity ADJUST sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 β $rax 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x555555555164 <main+31> add rax, 0x8 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] 0x55555555516b <main+38> lea rax, [rbp-0x8] β 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> 0x55555555517a <main+53> mov eax, 0x0 0x55555555517f <main+58> leave 0x555555555180 <main+59> ret ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x55555555516f in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x55555555516f β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x0000555555555172 10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe548 β 0x0000000000000000 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x0 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0 $rdi : 0x0 $rip : 0x0000555555555172 β <main+45> mov rdi, rax $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry parity ADJUST sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 β $rax 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x555555555168 <main+35> mov rdx, QWORD PTR [rax] 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx β 0x555555555172 <main+45> mov rdi, rax 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> 0x55555555517a <main+53> mov eax, 0x0 0x55555555517f <main+58> leave 0x555555555180 <main+59> ret 0x555555555181 nop WORD PTR cs:[rax+rax*1+0x0] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555172 in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555172 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x0000555555555175 10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe548 β 0x0000000000000000 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x0 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0 $rdi : 0x00007fffffffe548 β 0x0000000000000000 $rip : 0x0000555555555175 β <main+48> call 0x555555555030 <strcpy@plt> $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry parity ADJUST sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 β $rax, $rdi 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax β 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> β³ 0x555555555030 <strcpy@plt+0> jmp QWORD PTR [rip+0x2fe2] # 0x555555558018 <strcpy@got.plt> 0x555555555036 <strcpy@plt+6> push 0x0 0x55555555503b <strcpy@plt+11> jmp 0x555555555020 0x555555555040 <puts@plt+0> jmp QWORD PTR [rip+0x2fda] # 0x555555558020 <puts@got.plt> 0x555555555046 <puts@plt+6> push 0x1 0x55555555504b <puts@plt+11> jmp 0x555555555020 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ arguments (guessed) ββββ strcpy@plt ( $rdi = 0x00007fffffffe548 β 0x0000000000000000, $rsi = 0x0000000000000000, $rdx = 0x0000000000000000 ) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555175 in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555175 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0x0000555555555175 10 strcpy(buf,argv[1]); // copies arg to buffer [ Legend: Modified register | Code | Heap | Stack | String ] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ registers ββββ $rax : 0x00007fffffffe548 β 0x0000000000000000 $rbx : 0x0 $rcx : 0x00007ffff7eef504 β 0x5477fffff0003d48 ("H="?) $rdx : 0x0 $rsp : 0x00007fffffffe530 β 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" $rbp : 0x00007fffffffe550 β 0x0000555555555190 β <__libc_csu_init+0> push r15 $rsi : 0x0 $rdi : 0x00007fffffffe548 β 0x0000000000000000 $rip : 0x0000555555555175 β <main+48> call 0x555555555030 <strcpy@plt> $r8 : 0x3 $r9 : 0x77 $r10 : 0x0000555555559010 β 0x0000000000000000 $r11 : 0x246 $r12 : 0x0000555555555060 β <_start+0> xor ebp, ebp $r13 : 0x00007fffffffe630 β 0x0000000000000001 $r14 : 0x0 $r15 : 0x0 $eflags: [zero carry parity ADJUST sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ stack ββββ 0x00007fffffffe530β+0x0000: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" β $rsp 0x00007fffffffe538β+0x0008: 0x0000000155555060 0x00007fffffffe540β+0x0010: 0x00007fffffffe630 β 0x0000000000000001 0x00007fffffffe548β+0x0018: 0x0000000000000000 β $rax, $rdi 0x00007fffffffe550β+0x0020: 0x0000555555555190 β <__libc_csu_init+0> push r15 β $rbp 0x00007fffffffe558β+0x0028: 0x00007ffff7e2909b β <__libc_start_main+235> mov edi, eax 0x00007fffffffe560β+0x0030: 0x00007ffff7fbc660 β 0x00007ffff7e28970 β <init_cacheinfo+0> push r15 0x00007fffffffe568β+0x0038: 0x00007fffffffe638 β 0x00007fffffffe850 β "/home/user/binary" ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ code:x86:64 ββββ 0x55555555516b <main+38> lea rax, [rbp-0x8] 0x55555555516f <main+42> mov rsi, rdx 0x555555555172 <main+45> mov rdi, rax β 0x555555555175 <main+48> call 0x555555555030 <strcpy@plt> β³ 0x555555555030 <strcpy@plt+0> jmp QWORD PTR [rip+0x2fe2] # 0x555555558018 <strcpy@got.plt> 0x555555555036 <strcpy@plt+6> push 0x0 0x55555555503b <strcpy@plt+11> jmp 0x555555555020 0x555555555040 <puts@plt+0> jmp QWORD PTR [rip+0x2fda] # 0x555555558020 <puts@got.plt> 0x555555555046 <puts@plt+6> push 0x1 0x55555555504b <puts@plt+11> jmp 0x555555555020 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ arguments (guessed) ββββ strcpy@plt ( $rdi = 0x00007fffffffe548 β 0x0000000000000000, $rsi = 0x0000000000000000, $rdx = 0x0000000000000000 ) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ threads ββββ [#0] Id 1, Name: "binary", stopped 0x555555555175 in main (), reason: SINGLE STEP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ trace ββββ [#0] 0x555555555175 β main(argc=0x1, argv=0x7fffffffe638) βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Program received signal SIGSEGV, Segmentation fault.
2 3 4 5 6 7 30 40 50 60 70 80 90 100 110 120 ------------- --------------------------------- 0: 0 @ P ` p 0: ( 2 < F P Z d n x 1: ! 1 A Q a q 1: ) 3 = G Q [ e o y 2: " 2 B R b r 2: * 4 > H R \ f p z 3: # 3 C S c s 3: ! + 5 ? I S ] g q { 4: $ 4 D T d t 4: " , 6 @ J T ^ h r | 5: % 5 E U e u 5: # - 7 A K U _ i s } 6: & 6 F V f v 6: $ . 8 B L V ` j t ~ 7: ' 7 G W g w 7: % / 9 C M W a k u DEL 8: ( 8 H X h x 8: & 0 : D N X b l v 9: ) 9 I Y i y 9: ' 1 ; E O Y c m w A: * : J Z j z B: + ; K [ k { C: , < L \ l | D: - = M ] m } E: . > N ^ n ~ F: / ? O _ o DEL
ELF>`@B@8@#"@@@hh PP-==PX-==DDPtd <<QtdRtd-== /lib64/ld-linux-x86-64.so.2GNUGNU>F]4kAssDemD&` o "libc.so.6strcpyputs__cxa_finalize__libc_start_mainGLIBC_2.2.5_ITM_ deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui 8@00@????H=V/DH=/H/H9tH./Ht/ f1I^HH=q/H5j/H)HHH?HHtH/HfD=1/u/UH=.HtH= /-h /]{UHH }HuH=HEHHEHHf.DAWIAVIAUAATL%@,UH-@ ,SL)CHtLLDAHH9u[]A\A]A^A_=0E E( H0H8G@j8A0A(B BBB@C @0p ooozo=6F0@GCC: (Debian 8.3.0-6) 8.3.0,E< AE<>9U4intl$ S3e H6 p7 8 9 E: ( ; 0 Z< 8 = @ @ H A P 'B X gD=` FCh 0Hep Iet sx [d \o m]C }^Y GY {_ - `e ?u ?+
################### # # # # ################### x x x x x x x x x x x x x ################### # # # # ###################
149 25.680928 192.168.0.130 194.95.160.32 TCP 66 49789 β 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM=1
150 25.699629 194.95.160.32 192.168.0.130 TCP 66 80 β 49789 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1420 SACK_PERM=1 WS=128
151 25.699665 192.168.0.130 194.95.160.32 TCP 54 49789 β 80 [ACK] Seq=1 Ack=1 Win=262656 Len=0
160 34.015327 192.168.0.130 194.95.160.32 TCP 69 49789 β 80 [PSH, ACK] Seq=1 Ack=1 Win=262656 Len=15 [TCP segment of a reassembled PDU]
161 34.034364 194.95.160.32 192.168.0.130 TCP 60 80 β 49789 [ACK] Seq=1 Ack=16 Win=5760 Len=0
162 34.361284 192.168.0.130 194.95.160.32 HTTP 55 GET / HTTP/1.0
163 34.381266 194.95.160.32 192.168.0.130 TCP 60 80 β 49789 [ACK] Seq=1 Ack=17 Win=5760 Len=0
164 34.381266 194.95.160.32 192.168.0.130 HTTP 920 HTTP/1.0 200 OK (text/html)
165 34.381266 194.95.160.32 192.168.0.130 TCP 60 80 β 49789 [FIN, ACK] Seq=867 Ack=17 Win=5760 Len=0
166 34.381340 192.168.0.130 194.95.160.32 TCP 54 49789 β 80 [ACK] Seq=17 Ack=868 Win=261632 Len=0
167 36.355247 192.168.0.130 194.95.160.32 TCP 54 49789 β 80 [FIN, ACK] Seq=17 Ack=868 Win=261632 Len=0
168 36.374922 194.95.160.32 192.168.0.130 TCP 60 80 β 49789 [ACK] Seq=868 Ack=18 Win=5760 Len=0