325 lines
13 KiB
Plaintext
325 lines
13 KiB
Plaintext
|
|
||
|
a.out: file format elf32-i386
|
||
|
|
||
|
|
||
|
Disassembly of section .init:
|
||
|
|
||
|
08048278 <_init>:
|
||
|
8048278: 53 push %ebx
|
||
|
8048279: 83 ec 08 sub $0x8,%esp
|
||
|
804827c: e8 8f 00 00 00 call 8048310 <__x86.get_pc_thunk.bx>
|
||
|
8048281: 81 c3 7f 1d 00 00 add $0x1d7f,%ebx
|
||
|
8048287: 8b 83 fc ff ff ff mov -0x4(%ebx),%eax
|
||
|
804828d: 85 c0 test %eax,%eax
|
||
|
804828f: 74 05 je 8048296 <_init+0x1e>
|
||
|
8048291: e8 2a 00 00 00 call 80482c0 <__gmon_start__@plt>
|
||
|
8048296: e8 45 01 00 00 call 80483e0 <__do_global_ctors_aux>
|
||
|
804829b: 83 c4 08 add $0x8,%esp
|
||
|
804829e: 5b pop %ebx
|
||
|
804829f: c3 ret
|
||
|
|
||
|
Disassembly of section .plt:
|
||
|
|
||
|
080482a0 <printf@plt-0x10>:
|
||
|
80482a0: ff 35 04 a0 04 08 pushl 0x804a004
|
||
|
80482a6: ff 25 08 a0 04 08 jmp *0x804a008
|
||
|
80482ac: 00 00 add %al,(%eax)
|
||
|
...
|
||
|
|
||
|
080482b0 <printf@plt>:
|
||
|
80482b0: ff 25 0c a0 04 08 jmp *0x804a00c
|
||
|
80482b6: 68 00 00 00 00 push $0x0
|
||
|
80482bb: e9 e0 ff ff ff jmp 80482a0 <_init+0x28>
|
||
|
|
||
|
080482c0 <__gmon_start__@plt>:
|
||
|
80482c0: ff 25 10 a0 04 08 jmp *0x804a010
|
||
|
80482c6: 68 08 00 00 00 push $0x8
|
||
|
80482cb: e9 d0 ff ff ff jmp 80482a0 <_init+0x28>
|
||
|
|
||
|
080482d0 <__libc_start_main@plt>:
|
||
|
80482d0: ff 25 14 a0 04 08 jmp *0x804a014
|
||
|
80482d6: 68 10 00 00 00 push $0x10
|
||
|
80482db: e9 c0 ff ff ff jmp 80482a0 <_init+0x28>
|
||
|
|
||
|
Disassembly of section .text:
|
||
|
|
||
|
080482e0 <_start>:
|
||
|
80482e0: 31 ed xor %ebp,%ebp
|
||
|
80482e2: 5e pop %esi
|
||
|
80482e3: 89 e1 mov %esp,%ecx
|
||
|
80482e5: 83 e4 f0 and $0xfffffff0,%esp
|
||
|
80482e8: 50 push %eax
|
||
|
80482e9: 54 push %esp
|
||
|
80482ea: 52 push %edx
|
||
|
80482eb: 68 30 85 04 08 push $0x8048530
|
||
|
80482f0: 68 d0 84 04 08 push $0x80484d0
|
||
|
80482f5: 51 push %ecx
|
||
|
80482f6: 56 push %esi
|
||
|
80482f7: 68 8c 84 04 08 push $0x804848c
|
||
|
80482fc: e8 cf ff ff ff call 80482d0 <__libc_start_main@plt>
|
||
|
8048301: f4 hlt
|
||
|
8048302: 66 90 xchg %ax,%ax
|
||
|
8048304: 66 90 xchg %ax,%ax
|
||
|
8048306: 66 90 xchg %ax,%ax
|
||
|
8048308: 66 90 xchg %ax,%ax
|
||
|
804830a: 66 90 xchg %ax,%ax
|
||
|
804830c: 66 90 xchg %ax,%ax
|
||
|
804830e: 66 90 xchg %ax,%ax
|
||
|
|
||
|
08048310 <__x86.get_pc_thunk.bx>:
|
||
|
8048310: 8b 1c 24 mov (%esp),%ebx
|
||
|
8048313: c3 ret
|
||
|
8048314: 66 90 xchg %ax,%ax
|
||
|
8048316: 66 90 xchg %ax,%ax
|
||
|
8048318: 66 90 xchg %ax,%ax
|
||
|
804831a: 66 90 xchg %ax,%ax
|
||
|
804831c: 66 90 xchg %ax,%ax
|
||
|
804831e: 66 90 xchg %ax,%ax
|
||
|
|
||
|
08048320 <__ctors>:
|
||
|
8048320: e8 34 01 00 00 call 8048459 <__x86.get_pc_thunk.ax>
|
||
|
8048325: 05 db 1c 00 00 add $0x1cdb,%eax
|
||
|
804832a: 56 push %esi
|
||
|
804832b: 53 push %ebx
|
||
|
804832c: 8d 64 24 fc lea -0x4(%esp),%esp
|
||
|
8048330: 8d 88 24 ff ff ff lea -0xdc(%eax),%ecx
|
||
|
8048336: 8b 11 mov (%ecx),%edx
|
||
|
8048338: 83 fa ff cmp $0xffffffff,%edx
|
||
|
804833b: 74 2b je 8048368 <__ctors+0x48>
|
||
|
804833d: 8d 5a ff lea -0x1(%edx),%ebx
|
||
|
8048340: 8d 34 91 lea (%ecx,%edx,4),%esi
|
||
|
8048343: 8d 04 9d 00 00 00 00 lea 0x0(,%ebx,4),%eax
|
||
|
804834a: 29 c6 sub %eax,%esi
|
||
|
804834c: 85 d2 test %edx,%edx
|
||
|
804834e: 74 0a je 804835a <__ctors+0x3a>
|
||
|
8048350: ff 14 9e call *(%esi,%ebx,4)
|
||
|
8048353: 85 db test %ebx,%ebx
|
||
|
8048355: 8d 5b ff lea -0x1(%ebx),%ebx
|
||
|
8048358: 75 f6 jne 8048350 <__ctors+0x30>
|
||
|
804835a: 8d 64 24 04 lea 0x4(%esp),%esp
|
||
|
804835e: 5b pop %ebx
|
||
|
804835f: 5e pop %esi
|
||
|
8048360: c3 ret
|
||
|
8048361: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
|
||
|
8048368: 8b 71 04 mov 0x4(%ecx),%esi
|
||
|
804836b: 85 f6 test %esi,%esi
|
||
|
804836d: 74 eb je 804835a <__ctors+0x3a>
|
||
|
804836f: ba 01 00 00 00 mov $0x1,%edx
|
||
|
8048374: eb 04 jmp 804837a <__ctors+0x5a>
|
||
|
8048376: 66 90 xchg %ax,%ax
|
||
|
8048378: 89 c2 mov %eax,%edx
|
||
|
804837a: 8d 42 01 lea 0x1(%edx),%eax
|
||
|
804837d: 8b 1c 81 mov (%ecx,%eax,4),%ebx
|
||
|
8048380: 85 db test %ebx,%ebx
|
||
|
8048382: 75 f4 jne 8048378 <__ctors+0x58>
|
||
|
8048384: eb b7 jmp 804833d <__ctors+0x1d>
|
||
|
8048386: 8d 76 00 lea 0x0(%esi),%esi
|
||
|
8048389: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
|
||
|
|
||
|
08048390 <__dtors>:
|
||
|
8048390: e8 c4 00 00 00 call 8048459 <__x86.get_pc_thunk.ax>
|
||
|
8048395: 05 6b 1c 00 00 add $0x1c6b,%eax
|
||
|
804839a: 53 push %ebx
|
||
|
804839b: 8d 64 24 f8 lea -0x8(%esp),%esp
|
||
|
804839f: 8d 90 2c ff ff ff lea -0xd4(%eax),%edx
|
||
|
80483a5: 89 d3 mov %edx,%ebx
|
||
|
80483a7: 83 c3 04 add $0x4,%ebx
|
||
|
80483aa: 8b 42 04 mov 0x4(%edx),%eax
|
||
|
80483ad: 85 c0 test %eax,%eax
|
||
|
80483af: 74 1a je 80483cb <__dtors+0x3b>
|
||
|
80483b1: eb 0d jmp 80483c0 <__dtors+0x30>
|
||
|
80483b3: 90 nop
|
||
|
80483b4: 90 nop
|
||
|
80483b5: 90 nop
|
||
|
80483b6: 90 nop
|
||
|
80483b7: 90 nop
|
||
|
80483b8: 90 nop
|
||
|
80483b9: 90 nop
|
||
|
80483ba: 90 nop
|
||
|
80483bb: 90 nop
|
||
|
80483bc: 90 nop
|
||
|
80483bd: 90 nop
|
||
|
80483be: 90 nop
|
||
|
80483bf: 90 nop
|
||
|
80483c0: 8d 5b 04 lea 0x4(%ebx),%ebx
|
||
|
80483c3: ff d0 call *%eax
|
||
|
80483c5: 8b 03 mov (%ebx),%eax
|
||
|
80483c7: 85 c0 test %eax,%eax
|
||
|
80483c9: 75 f5 jne 80483c0 <__dtors+0x30>
|
||
|
80483cb: 8d 64 24 08 lea 0x8(%esp),%esp
|
||
|
80483cf: 5b pop %ebx
|
||
|
80483d0: c3 ret
|
||
|
80483d1: eb 0d jmp 80483e0 <__do_global_ctors_aux>
|
||
|
80483d3: 90 nop
|
||
|
80483d4: 90 nop
|
||
|
80483d5: 90 nop
|
||
|
80483d6: 90 nop
|
||
|
80483d7: 90 nop
|
||
|
80483d8: 90 nop
|
||
|
80483d9: 90 nop
|
||
|
80483da: 90 nop
|
||
|
80483db: 90 nop
|
||
|
80483dc: 90 nop
|
||
|
80483dd: 90 nop
|
||
|
80483de: 90 nop
|
||
|
80483df: 90 nop
|
||
|
|
||
|
080483e0 <__do_global_ctors_aux>:
|
||
|
80483e0: e8 74 00 00 00 call 8048459 <__x86.get_pc_thunk.ax>
|
||
|
80483e5: 05 1b 1c 00 00 add $0x1c1b,%eax
|
||
|
80483ea: 8b 90 24 00 00 00 mov 0x24(%eax),%edx
|
||
|
80483f0: 85 d2 test %edx,%edx
|
||
|
80483f2: 74 04 je 80483f8 <__do_global_ctors_aux+0x18>
|
||
|
80483f4: c3 ret
|
||
|
80483f5: 8d 76 00 lea 0x0(%esi),%esi
|
||
|
80483f8: c7 80 24 00 00 00 01 movl $0x1,0x24(%eax)
|
||
|
80483ff: 00 00 00
|
||
|
8048402: e9 19 ff ff ff jmp 8048320 <__ctors>
|
||
|
8048407: 89 f6 mov %esi,%esi
|
||
|
8048409: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
|
||
|
|
||
|
08048410 <__do_global_dtors_aux>:
|
||
|
8048410: 53 push %ebx
|
||
|
8048411: e8 fa fe ff ff call 8048310 <__x86.get_pc_thunk.bx>
|
||
|
8048416: 81 c3 ea 1b 00 00 add $0x1bea,%ebx
|
||
|
804841c: 8d 64 24 f8 lea -0x8(%esp),%esp
|
||
|
8048420: 8b 83 20 00 00 00 mov 0x20(%ebx),%eax
|
||
|
8048426: 85 c0 test %eax,%eax
|
||
|
8048428: 75 0f jne 8048439 <__do_global_dtors_aux+0x29>
|
||
|
804842a: e8 61 ff ff ff call 8048390 <__dtors>
|
||
|
804842f: c7 83 20 00 00 00 01 movl $0x1,0x20(%ebx)
|
||
|
8048436: 00 00 00
|
||
|
8048439: 8d 64 24 08 lea 0x8(%esp),%esp
|
||
|
804843d: 5b pop %ebx
|
||
|
804843e: c3 ret
|
||
|
804843f: 90 nop
|
||
|
|
||
|
08048440 <__call___do_global_ctors_aux>:
|
||
|
8048440: 8d 64 24 f4 lea -0xc(%esp),%esp
|
||
|
8048444: 8d 64 24 0c lea 0xc(%esp),%esp
|
||
|
8048448: c3 ret
|
||
|
8048449: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
|
||
|
|
||
|
08048450 <__call___do_global_dtors_aux>:
|
||
|
8048450: 8d 64 24 f4 lea -0xc(%esp),%esp
|
||
|
8048454: 8d 64 24 0c lea 0xc(%esp),%esp
|
||
|
8048458: c3 ret
|
||
|
|
||
|
08048459 <__x86.get_pc_thunk.ax>:
|
||
|
8048459: 90 nop
|
||
|
804845a: 90 nop
|
||
|
804845b: 90 nop
|
||
|
804845c: 90 nop
|
||
|
804845d: 90 nop
|
||
|
804845e: 90 nop
|
||
|
804845f: 90 nop
|
||
|
8048460: 90 nop
|
||
|
8048461: 8b 04 24 mov (%esp),%eax
|
||
|
8048464: c3 ret
|
||
|
8048465: 66 90 xchg %ax,%ax
|
||
|
8048467: 90 nop
|
||
|
|
||
|
08048468 <sum>:
|
||
|
int global = 8150;
|
||
|
|
||
|
|
||
|
int sum(int,int);
|
||
|
|
||
|
int sum(int a, int b){
|
||
|
8048468: c8 08 00 00 enter $0x8,$0x0
|
||
|
int result = 451;
|
||
|
804846c: c7 45 fc c3 01 00 00 movl $0x1c3,-0x4(%ebp)
|
||
|
result = a + b;
|
||
|
8048473: 8b 45 08 mov 0x8(%ebp),%eax
|
||
|
8048476: 03 45 0c add 0xc(%ebp),%eax
|
||
|
8048479: 89 45 fc mov %eax,-0x4(%ebp)
|
||
|
return result;
|
||
|
804847c: 8b 45 fc mov -0x4(%ebp),%eax
|
||
|
804847f: 89 45 f8 mov %eax,-0x8(%ebp)
|
||
|
8048482: eb 00 jmp 8048484 <sum+0x1c>
|
||
|
}
|
||
|
8048484: 8b 45 f8 mov -0x8(%ebp),%eax
|
||
|
8048487: c9 leave
|
||
|
8048488: c3 ret
|
||
|
8048489: 8d 76 00 lea 0x0(%esi),%esi
|
||
|
|
||
|
0804848c <main>:
|
||
|
|
||
|
|
||
|
int main(int argc, char **argv)
|
||
|
{
|
||
|
804848c: c8 08 00 00 enter $0x8,$0x0
|
||
|
int local=4711;
|
||
|
8048490: c7 45 fc 67 12 00 00 movl $0x1267,-0x4(%ebp)
|
||
|
printf("Hello, world!\nglobal=%d local=%d\n", global, local);
|
||
|
8048497: ff 75 fc pushl -0x4(%ebp)
|
||
|
804849a: ff 35 1c a0 04 08 pushl 0x804a01c
|
||
|
80484a0: 68 58 85 04 08 push $0x8048558
|
||
|
80484a5: e8 06 fe ff ff call 80482b0 <printf@plt>
|
||
|
80484aa: 83 c4 0c add $0xc,%esp
|
||
|
local = sum(global, local);
|
||
|
80484ad: ff 75 fc pushl -0x4(%ebp)
|
||
|
80484b0: ff 35 1c a0 04 08 pushl 0x804a01c
|
||
|
80484b6: e8 ad ff ff ff call 8048468 <sum>
|
||
|
80484bb: 83 c4 08 add $0x8,%esp
|
||
|
80484be: 89 45 fc mov %eax,-0x4(%ebp)
|
||
|
return local;
|
||
|
80484c1: 8b 45 fc mov -0x4(%ebp),%eax
|
||
|
80484c4: 89 45 f8 mov %eax,-0x8(%ebp)
|
||
|
80484c7: eb 00 jmp 80484c9 <main+0x3d>
|
||
|
}
|
||
|
80484c9: 8b 45 f8 mov -0x8(%ebp),%eax
|
||
|
80484cc: c9 leave
|
||
|
80484cd: c3 ret
|
||
|
80484ce: 66 90 xchg %ax,%ax
|
||
|
|
||
|
080484d0 <__libc_csu_init>:
|
||
|
80484d0: 55 push %ebp
|
||
|
80484d1: 57 push %edi
|
||
|
80484d2: 56 push %esi
|
||
|
80484d3: 53 push %ebx
|
||
|
80484d4: e8 37 fe ff ff call 8048310 <__x86.get_pc_thunk.bx>
|
||
|
80484d9: 81 c3 27 1b 00 00 add $0x1b27,%ebx
|
||
|
80484df: 83 ec 0c sub $0xc,%esp
|
||
|
80484e2: 8b 6c 24 20 mov 0x20(%esp),%ebp
|
||
|
80484e6: 8d b3 24 ff ff ff lea -0xdc(%ebx),%esi
|
||
|
80484ec: e8 87 fd ff ff call 8048278 <_init>
|
||
|
80484f1: 8d 83 24 ff ff ff lea -0xdc(%ebx),%eax
|
||
|
80484f7: 29 c6 sub %eax,%esi
|
||
|
80484f9: c1 fe 02 sar $0x2,%esi
|
||
|
80484fc: 85 f6 test %esi,%esi
|
||
|
80484fe: 74 25 je 8048525 <__libc_csu_init+0x55>
|
||
|
8048500: 31 ff xor %edi,%edi
|
||
|
8048502: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
|
||
|
8048508: 83 ec 04 sub $0x4,%esp
|
||
|
804850b: ff 74 24 2c pushl 0x2c(%esp)
|
||
|
804850f: ff 74 24 2c pushl 0x2c(%esp)
|
||
|
8048513: 55 push %ebp
|
||
|
8048514: ff 94 bb 24 ff ff ff call *-0xdc(%ebx,%edi,4)
|
||
|
804851b: 83 c7 01 add $0x1,%edi
|
||
|
804851e: 83 c4 10 add $0x10,%esp
|
||
|
8048521: 39 f7 cmp %esi,%edi
|
||
|
8048523: 75 e3 jne 8048508 <__libc_csu_init+0x38>
|
||
|
8048525: 83 c4 0c add $0xc,%esp
|
||
|
8048528: 5b pop %ebx
|
||
|
8048529: 5e pop %esi
|
||
|
804852a: 5f pop %edi
|
||
|
804852b: 5d pop %ebp
|
||
|
804852c: c3 ret
|
||
|
804852d: 8d 76 00 lea 0x0(%esi),%esi
|
||
|
|
||
|
08048530 <__libc_csu_fini>:
|
||
|
8048530: f3 c3 repz ret
|
||
|
|
||
|
Disassembly of section .fini:
|
||
|
|
||
|
08048534 <_fini>:
|
||
|
8048534: 53 push %ebx
|
||
|
8048535: 83 ec 08 sub $0x8,%esp
|
||
|
8048538: e8 d3 fd ff ff call 8048310 <__x86.get_pc_thunk.bx>
|
||
|
804853d: 81 c3 c3 1a 00 00 add $0x1ac3,%ebx
|
||
|
8048543: e8 c8 fe ff ff call 8048410 <__do_global_dtors_aux>
|
||
|
8048548: 83 c4 08 add $0x8,%esp
|
||
|
804854b: 5b pop %ebx
|
||
|
804854c: c3 ret
|