lazenca0x0@ubuntu:~$ gcc -o unsafe_unlink unsafe_unlink.c
lazenca0x0@ubuntu:~$ gdb -q ./unsafe_unlink
Reading symbols from ./unsafe_unlink...(no debugging symbols found)...done.
gdb-peda$ disassemble main
Dump of assembler code for function main:
0x00000000004006a6 <+0>: push rbp
0x00000000004006a7 <+1>: mov rbp,rsp
0x00000000004006aa <+4>: sub rsp,0x30
0x00000000004006ae <+8>: mov rax,QWORD PTR fs:0x28
0x00000000004006b7 <+17>: mov QWORD PTR [rbp-0x8],rax
0x00000000004006bb <+21>: xor eax,eax
0x00000000004006bd <+23>: mov edi,0x80
0x00000000004006c2 <+28>: call 0x400590 <malloc@plt>
0x00000000004006c7 <+33>: mov QWORD PTR [rip+0x2009a2],rax # 0x601070 <buf1>
0x00000000004006ce <+40>: mov edi,0x80
0x00000000004006d3 <+45>: call 0x400590 <malloc@plt>
0x00000000004006d8 <+50>: mov QWORD PTR [rbp-0x28],rax
0x00000000004006dc <+54>: mov rax,QWORD PTR [rip+0x20097d] # 0x601060 <stderr@@GLIBC_2.2.5>
0x00000000004006e3 <+61>: mov edx,0x601070
0x00000000004006e8 <+66>: mov esi,0x400884
0x00000000004006ed <+71>: mov rdi,rax
0x00000000004006f0 <+74>: mov eax,0x0
0x00000000004006f5 <+79>: call 0x400580 <fprintf@plt>
0x00000000004006fa <+84>: mov rdx,QWORD PTR [rip+0x20096f] # 0x601070 <buf1>
0x0000000000400701 <+91>: mov rax,QWORD PTR [rip+0x200958] # 0x601060 <stderr@@GLIBC_2.2.5>
0x0000000000400708 <+98>: mov esi,0x400890
0x000000000040070d <+103>: mov rdi,rax
0x0000000000400710 <+106>: mov eax,0x0
0x0000000000400715 <+111>: call 0x400580 <fprintf@plt>
0x000000000040071a <+116>: mov rax,QWORD PTR [rip+0x20093f] # 0x601060 <stderr@@GLIBC_2.2.5>
0x0000000000400721 <+123>: mov rdx,QWORD PTR [rbp-0x28]
0x0000000000400725 <+127>: mov esi,0x40089b
0x000000000040072a <+132>: mov rdi,rax
0x000000000040072d <+135>: mov eax,0x0
0x0000000000400732 <+140>: call 0x400580 <fprintf@plt>
0x0000000000400737 <+145>: mov rax,QWORD PTR [rip+0x200932] # 0x601070 <buf1>
0x000000000040073e <+152>: add rax,0x10
0x0000000000400742 <+156>: mov edx,0x601070
0x0000000000400747 <+161>: sub rdx,0x18
0x000000000040074b <+165>: mov QWORD PTR [rax],rdx
0x000000000040074e <+168>: mov rax,QWORD PTR [rip+0x20091b] # 0x601070 <buf1>
0x0000000000400755 <+175>: add rax,0x18
0x0000000000400759 <+179>: mov edx,0x601070
0x000000000040075e <+184>: sub rdx,0x10
0x0000000000400762 <+188>: mov QWORD PTR [rax],rdx
0x0000000000400765 <+191>: mov rax,QWORD PTR [rbp-0x28]
0x0000000000400769 <+195>: sub rax,0x10
0x000000000040076d <+199>: mov QWORD PTR [rax],0x80
0x0000000000400774 <+206>: mov rax,QWORD PTR [rbp-0x28]
0x0000000000400778 <+210>: sub rax,0x8
0x000000000040077c <+214>: mov rdx,QWORD PTR [rbp-0x28]
0x0000000000400780 <+218>: sub rdx,0x8
0x0000000000400784 <+222>: mov rdx,QWORD PTR [rdx]
0x0000000000400787 <+225>: and rdx,0xfffffffffffffffe
0x000000000040078b <+229>: mov QWORD PTR [rax],rdx
0x000000000040078e <+232>: mov rax,QWORD PTR [rbp-0x28]
0x0000000000400792 <+236>: mov rdi,rax
0x0000000000400795 <+239>: call 0x400540 <free@plt>
0x000000000040079a <+244>: mov rax,QWORD PTR [rip+0x2008cf] # 0x601070 <buf1>
0x00000000004007a1 <+251>: lea rdx,[rax+0x18]
0x00000000004007a5 <+255>: lea rax,[rbp-0x20]
0x00000000004007a9 <+259>: mov QWORD PTR [rdx],rax
0x00000000004007ac <+262>: mov rax,QWORD PTR [rip+0x2008bd] # 0x601070 <buf1>
0x00000000004007b3 <+269>: mov edx,0x80
0x00000000004007b8 <+274>: mov rsi,rax
0x00000000004007bb <+277>: mov edi,0x0
0x00000000004007c0 <+282>: call 0x400560 <read@plt>
0x00000000004007c5 <+287>: mov rax,QWORD PTR [rip+0x200894] # 0x601060 <stderr@@GLIBC_2.2.5>
0x00000000004007cc <+294>: lea rdx,[rbp-0x20]
0x00000000004007d0 <+298>: mov esi,0x4008a6
0x00000000004007d5 <+303>: mov rdi,rax
0x00000000004007d8 <+306>: mov eax,0x0
0x00000000004007dd <+311>: call 0x400580 <fprintf@plt>
0x00000000004007e2 <+316>: nop
0x00000000004007e3 <+317>: mov rax,QWORD PTR [rbp-0x8]
0x00000000004007e7 <+321>: xor rax,QWORD PTR fs:0x28
0x00000000004007f0 <+330>: je 0x4007f7 <main+337>
0x00000000004007f2 <+332>: call 0x400550 <__stack_chk_fail@plt>
0x00000000004007f7 <+337>: leave
0x00000000004007f8 <+338>: ret
End of assembler dump.
gdb-peda$ b *0x000000000040074b
Breakpoint 1 at 0x40074b
gdb-peda$ b *0x0000000000400762
Breakpoint 2 at 0x400762
gdb-peda$ b *0x000000000040076d
Breakpoint 3 at 0x40076d
gdb-peda$ b *0x000000000040078b
Breakpoint 4 at 0x40078b
gdb-peda$ b *0x0000000000400795
Breakpoint 5 at 0x400795
gdb-peda$ b *0x00000000004007a9
Breakpoint 6 at 0x4007a9
gdb-peda$ b *0x00000000004007c0
Breakpoint 7 at 0x4007c0
gdb-peda$ |