root@kali:~/ohm/tcp_bind# gdb bypass_server 
GNU gdb (Debian 7.12-6+b1) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bypass_server...done.
(gdb) break bypass_server.c :14
Breakpoint 1 at 0xa5c: file bypass_server.c, line 14.
(gdb) run
Starting program: /root/ohm/tcp_bind/bypass_server 
Waiting for a client...
Accepted a connection from [127.0.0.1, 211]

Breakpoint 1, check_serial (serial=0x555555757260 "AAAAAAAA")
    at bypass_server.c:14
14	    if (strcmp(serial_buff, "SN123456") == 0) flag = 1;
(gdb) disass main
Dump of assembler code for function main:
   0x0000555555554a82 <+0>:	push   %rbp
   0x0000555555554a83 <+1>:	mov    %rsp,%rbp
   0x0000555555554a86 <+4>:	push   %rbx
   0x0000555555554a87 <+5>:	sub    $0x68,%rsp
   0x0000555555554a8b <+9>:	mov    %edi,-0x64(%rbp)
   0x0000555555554a8e <+12>:	mov    %rsi,-0x70(%rbp)
   0x0000555555554a92 <+16>:	movl   $0x1389,-0x14(%rbp)
   0x0000555555554a99 <+23>:	mov    $0x200,%edi
   0x0000555555554a9e <+28>:	callq  0x5555555548b0 <malloc@plt>
   0x0000555555554aa3 <+33>:	mov    %rax,-0x20(%rbp)
   0x0000555555554aa7 <+37>:	mov    $0x6,%edx
   0x0000555555554aac <+42>:	mov    $0x1,%esi
   0x0000555555554ab1 <+47>:	mov    $0x2,%edi
   0x0000555555554ab6 <+52>:	callq  0x555555554900 <socket@plt>
   0x0000555555554abb <+57>:	mov    %eax,-0x24(%rbp)
   0x0000555555554abe <+60>:	movw   $0x2,-0x40(%rbp)
   0x0000555555554ac4 <+66>:	movl   $0x0,-0x3c(%rbp)
   0x0000555555554acb <+73>:	mov    -0x14(%rbp),%eax
   0x0000555555554ace <+76>:	movzwl %ax,%eax
   0x0000555555554ad1 <+79>:	mov    %eax,%edi
   0x0000555555554ad3 <+81>:	callq  0x555555554860 <htons@plt>
   0x0000555555554ad8 <+86>:	mov    %ax,-0x3e(%rbp)
   0x0000555555554adc <+90>:	lea    -0x40(%rbp),%rcx
   0x0000555555554ae0 <+94>:	mov    -0x24(%rbp),%eax
   0x0000555555554ae3 <+97>:	mov    $0x10,%edx
   0x0000555555554ae8 <+102>:	mov    %rcx,%rsi
   0x0000555555554aeb <+105>:	mov    %eax,%edi
   0x0000555555554aed <+107>:	callq  0x5555555548d0 <bind@plt>
   0x0000555555554af2 <+112>:	mov    -0x24(%rbp),%eax
   0x0000555555554af5 <+115>:	mov    $0x1,%esi
   0x0000555555554afa <+120>:	mov    %eax,%edi
   0x0000555555554afc <+122>:	callq  0x5555555548c0 <listen@plt>
   0x0000555555554b01 <+127>:	mov    0x201598(%rip),%rax        # 0x5555557560a0 <stderr@@GLIBC_2.2.5>
   0x0000555555554b08 <+134>:	mov    %rax,%rcx
   0x0000555555554b0b <+137>:	mov    $0x18,%edx
   0x0000555555554b10 <+142>:	mov    $0x1,%esi
   0x0000555555554b15 <+147>:	lea    0x1b5(%rip),%rdi        # 0x555555554cd1
---Type <return> to continue, or q <return> to quit---
   0x0000555555554b1c <+154>:	callq  0x5555555548f0 <fwrite@plt>
   0x0000555555554b21 <+159>:	movl   $0x10,-0x54(%rbp)
   0x0000555555554b28 <+166>:	lea    -0x54(%rbp),%rdx
   0x0000555555554b2c <+170>:	lea    -0x50(%rbp),%rcx
   0x0000555555554b30 <+174>:	mov    -0x24(%rbp),%eax
   0x0000555555554b33 <+177>:	mov    %rcx,%rsi
   0x0000555555554b36 <+180>:	mov    %eax,%edi
   0x0000555555554b38 <+182>:	callq  0x5555555548e0 <accept@plt>
   0x0000555555554b3d <+187>:	mov    %eax,-0x28(%rbp)
   0x0000555555554b40 <+190>:	movzwl -0x4e(%rbp),%eax
   0x0000555555554b44 <+194>:	movzwl %ax,%ebx
   0x0000555555554b47 <+197>:	mov    -0x4c(%rbp),%eax
   0x0000555555554b4a <+200>:	mov    %eax,%edi
   0x0000555555554b4c <+202>:	callq  0x555555554850 <inet_ntoa@plt>
   0x0000555555554b51 <+207>:	mov    %rax,%rdx
   0x0000555555554b54 <+210>:	mov    0x201545(%rip),%rax        # 0x5555557560a0 <stderr@@GLIBC_2.2.5>
   0x0000555555554b5b <+217>:	mov    %ebx,%ecx
   0x0000555555554b5d <+219>:	lea    0x18c(%rip),%rsi        # 0x555555554cf0
   0x0000555555554b64 <+226>:	mov    %rax,%rdi
   0x0000555555554b67 <+229>:	mov    $0x0,%eax
   0x0000555555554b6c <+234>:	callq  0x5555555548a0 <fprintf@plt>
   0x0000555555554b71 <+239>:	mov    -0x20(%rbp),%rax
   0x0000555555554b75 <+243>:	movb   $0x0,(%rax)
   0x0000555555554b78 <+246>:	mov    -0x20(%rbp),%rcx
   0x0000555555554b7c <+250>:	mov    -0x28(%rbp),%eax
   0x0000555555554b7f <+253>:	mov    $0x200,%edx
   0x0000555555554b84 <+258>:	mov    %rcx,%rsi
   0x0000555555554b87 <+261>:	mov    %eax,%edi
   0x0000555555554b89 <+263>:	callq  0x555555554880 <read@plt>
   0x0000555555554b8e <+268>:	mov    -0x20(%rbp),%rax
   0x0000555555554b92 <+272>:	mov    %rax,%rdi
   0x0000555555554b95 <+275>:	callq  0x555555554a2a <check_serial>
   0x0000555555554b9a <+280>:	test   %eax,%eax
   0x0000555555554b9c <+282>:	je     0x555555554bd7 <main+341>
   0x0000555555554b9e <+284>:	mov    -0x20(%rbp),%rax
   0x0000555555554ba2 <+288>:	movabs $0x6e206c6169726553,%rbx
   0x0000555555554bac <+298>:	movabs $0x7369207265626d75,%rsi
   0x0000555555554bb6 <+308>:	mov    %rbx,(%rax)
---Type <return> to continue, or q <return> to quit---
   0x0000555555554bb9 <+311>:	mov    %rsi,0x8(%rax)
   0x0000555555554bbd <+315>:	movabs $0x74636572726f6320,%rbx
   0x0000555555554bc7 <+325>:	mov    %rbx,0x10(%rax)
   0x0000555555554bcb <+329>:	movw   $0xa2e,0x18(%rax)
   0x0000555555554bd1 <+335>:	movb   $0x0,0x1a(%rax)
   0x0000555555554bd5 <+339>:	jmp    0x555555554c08 <main+390>
   0x0000555555554bd7 <+341>:	mov    -0x20(%rbp),%rax
   0x0000555555554bdb <+345>:	movabs $0x6e206c6169726553,%rbx
   0x0000555555554be5 <+355>:	movabs $0x7369207265626d75,%rsi
   0x0000555555554bef <+365>:	mov    %rbx,(%rax)
   0x0000555555554bf2 <+368>:	mov    %rsi,0x8(%rax)
   0x0000555555554bf6 <+372>:	movabs $0xa2e676e6f727720,%rbx
   0x0000555555554c00 <+382>:	mov    %rbx,0x10(%rax)
   0x0000555555554c04 <+386>:	movb   $0x0,0x18(%rax)
   0x0000555555554c08 <+390>:	mov    -0x20(%rbp),%rcx
   0x0000555555554c0c <+394>:	mov    -0x28(%rbp),%eax
   0x0000555555554c0f <+397>:	mov    $0x200,%edx
   0x0000555555554c14 <+402>:	mov    %rcx,%rsi
   0x0000555555554c17 <+405>:	mov    %eax,%edi
   0x0000555555554c19 <+407>:	callq  0x555555554840 <write@plt>
   0x0000555555554c1e <+412>:	mov    -0x20(%rbp),%rax
   0x0000555555554c22 <+416>:	movb   $0x0,(%rax)
   0x0000555555554c25 <+419>:	mov    -0x28(%rbp),%eax
   0x0000555555554c28 <+422>:	mov    %eax,%edi
   0x0000555555554c2a <+424>:	callq  0x555555554870 <close@plt>
   0x0000555555554c2f <+429>:	jmpq   0x555555554b01 <main+127>
End of assembler dump.
(gdb) 

