Slide 11
Slide 11 text
Line By Line Explanation
buf
=
''.join(map(chr,
[
0x55,
0x48,
0x89,
0xe5,
0x89,
0x7d,
0xfc,
0x89,
0x75,
0xf8,
0x8b,
0x45,
0xf8,
0x8b,
0x55,
0xfc,
0x01,
0xd0,
0x5d,
0xc3
]))
pushq %rbp
movq %rsp, %rbp
movl %edi*, -4(%rbp)
movl %esi* -8(%rbp)
movl -8(%rbp), %eax
movl -4(%rbp), %edx
addl %eax, %edx
popq %rbp
ret
* x86_64 Linux system call convention: %rdi, %rsi, %rdx, %r10, %r8, %r9
are used to pass function parameters