Assembly

1.
0x080483ed <+0>: push ebp
0x080483ee <+1>: mov ebp,esp
0x080483f0 <+3>: sub esp,0x10
0x080483f3 <+6>: leave
0x080483f4 <+7>: ret
view raw value hosted with ❤ by GitHub
2.
0x0804841d <+0>: push ebp
0x0804841e <+1>: mov ebp,esp
0x08048420 <+3>: sub esp,0x14
0x08048423 <+6>: mov DWORD PTR [ebp-0x4],0xa
0x0804842a <+13>: mov DWORD PTR [ebp-0x8],0x14
0x08048431 <+20>: mov DWORD PTR [ebp-0xc],0x0
0x08048438 <+27>: mov eax,DWORD PTR [ebp-0x8]
0x0804843b <+30>: mov edx,DWORD PTR [ebp-0x4]
0x0804843e <+33>: add eax,edx
0x08048440 <+35>: mov DWORD PTR [ebp-0xc],eax
0x08048443 <+38>: mov eax,DWORD PTR [ebp-0xc]
0x08048446 <+41>: mov DWORD PTR [esp+0x4],eax
0x0804844a <+45>: mov DWORD PTR [esp],0x80484f0
0x08048451 <+52>: call 0x80482f0 <printf@plt>
0x08048456 <+57>: leave
0x08048457 <+58>: ret
view raw add hosted with ❤ by GitHub
3.
0x0804841d <+0>: push ebp
0x0804841e <+1>: mov ebp,esp
0x08048420 <+3>: and esp,0xfffffff0
0x08048423 <+6>: sub esp,0x20
0x08048426 <+9>: mov DWORD PTR [esp+0x1c],0x0
0x0804842e <+17>: jmp 0x8048450 <main+51>
0x08048430 <+19>: cmp DWORD PTR [esp+0x1c],0x2
0x08048435 <+24>: jne 0x804844b <main+46>
0x08048437 <+26>: mov eax,DWORD PTR [esp+0x1c]
0x0804843b <+30>: mov DWORD PTR [esp+0x4],eax
0x0804843f <+34>: mov DWORD PTR [esp],0x80484f0
0x08048446 <+41>: call 0x80482f0 <printf@plt>
0x0804844b <+46>: add DWORD PTR [esp+0x1c],0x1
0x08048450 <+51>: cmp DWORD PTR [esp+0x1c],0x4
0x08048455 <+56>: jle 0x8048430 <main+19>
0x08048457 <+58>: mov eax,0x0
0x0804845c <+63>: leave
0x0804845d <+64>: ret
view raw for hosted with ❤ by GitHub
4.
0x0804841d <+0>: push ebp
0x0804841e <+1>: mov ebp,esp
0x08048420 <+3>: and esp,0xfffffff0
0x08048423 <+6>: sub esp,0x20
0x08048426 <+9>: mov DWORD PTR [esp+0x1c],0x5
0x0804842e <+17>: jmp 0x8048450 <main+51>
0x08048430 <+19>: cmp DWORD PTR [esp+0x1c],0x2
0x08048435 <+24>: jne 0x804844b <main+46>
0x08048437 <+26>: mov eax,DWORD PTR [esp+0x1c]
0x0804843b <+30>: mov DWORD PTR [esp+0x4],eax
0x0804843f <+34>: mov DWORD PTR [esp],0x80484f0
0x08048446 <+41>: call 0x80482f0 <printf@plt>
0x0804844b <+46>: sub DWORD PTR [esp+0x1c],0x1
0x08048450 <+51>: cmp DWORD PTR [esp+0x1c],0x0
0x08048455 <+56>: jne 0x8048430 <main+19>
0x08048457 <+58>: mov eax,0x0
0x0804845c <+63>: leave
0x0804845d <+64>: ret
view raw while hosted with ❤ by GitHub
5.
Dump of assembler code for function main:
0x0804842a <+0>: push ebp
0x0804842b <+1>: mov ebp,esp
0x0804842d <+3>: and esp,0xfffffff0
0x08048430 <+6>: sub esp,0x20
0x08048433 <+9>: mov DWORD PTR [esp+0x18],0xa
0x0804843b <+17>: mov DWORD PTR [esp+0x1c],0x14
0x08048443 <+25>: mov eax,DWORD PTR [esp+0x1c]
0x08048447 <+29>: mov DWORD PTR [esp+0x4],eax
0x0804844b <+33>: mov eax,DWORD PTR [esp+0x18]
0x0804844f <+37>: mov DWORD PTR [esp],eax
0x08048452 <+40>: call 0x804841d <addVal>
0x08048457 <+45>: mov DWORD PTR [esp+0x4],eax
0x0804845b <+49>: mov DWORD PTR [esp],0x8048500
0x08048462 <+56>: call 0x80482f0 <printf@plt>
0x08048467 <+61>: mov eax,0x0
0x0804846c <+66>: leave
0x0804846d <+67>: ret
End of assembler dump.
Dump of assembler code for function addVal:
0x0804841d <+0>: push ebp
0x0804841e <+1>: mov ebp,esp
0x08048420 <+3>: mov eax,DWORD PTR [ebp+0xc]
0x08048423 <+6>: mov edx,DWORD PTR [ebp+0x8]
0x08048426 <+9>: add eax,edx
0x08048428 <+11>: pop ebp
0x08048429 <+12>: ret
End of assembler dump.
(gdb) x/s 0x8048500
0x8048500: "a + b = %d\n"
view raw func hosted with ❤ by GitHub

0 개의 댓글:

댓글 쓰기