Can anyone help me understand this asm code (It's short)

I'm trying to learn shellcode for a project
in comp science

but I

Comments

  • btw i get a seg fault
    on mov %al,0x7(%esi)
    [code]
    Program received signal SIGSEGV, Segmentation fault.
    0x0000000000400085 in _start ()
    (gdb) disas _start
    Dump of assembler code for function _start:
    0x0000000000400080 <_start+0>: jmp 0x4000a2 <_start+34>
    0x0000000000400082 <_start+2>: pop %rsi
    0x0000000000400083 <_start+3>: xor %eax,%eax
    #This line
    ->0x0000000000400085 <_start+5>: addr32 mov %al,0x7(%esi)
    0x0000000000400089 <_start+9>: addr32 lea (%esi),%ebx
    0x000000000040008c <_start+12>: addr32 mov %ebx,0x8(%esi)
    0x0000000000400090 <_start+16>: addr32 mov %eax,0xc(%esi)
    0x0000000000400094 <_start+20>: mov $0xb,%al
    0x0000000000400096 <_start+22>: mov %esi,%ebx
    0x0000000000400098 <_start+24>: addr32 lea 0x8(%esi),%ecx
    0x000000000040009c <_start+28>: addr32 lea 0xc(%esi),%edx
    0x00000000004000a0 <_start+32>: int $0x80
    0x00000000004000a2 <_start+34>: callq 0x400082 <_start+2>
    0x00000000004000a7 <_start+39>: (bad)
    0x00000000004000a8 <_start+40>: (bad)
    0x00000000004000a9 <_start+41>: imul $0x414a6873,0x2f(%rsi),%ebp
    0x00000000004000b0 <_start+48>: rex.B
    0x00000000004000b1 <_start+49>: rex.B
    0x00000000004000b2 <_start+50>: rex.B
    0x00000000004000b3 <_start+51>: rex.WXB
    0x00000000004000b4 <_start+52>: rex.WXB
    0x00000000004000b5 <_start+53>: rex.WXB
    0x00000000004000b6 <_start+54>: rex.WXB add %bpl,(%r14)
    End of assembler dump.
    [/code]
  • This post has been deleted.
  • This post has been deleted.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories