.file "vtable.cc" .section .ctors,"aw",@progbits .align 4 .long _GLOBAL__I__Z7exploitv .text .align 2 .globl _Z5callfP1A .type _Z5callfP1A, @function _Z5callfP1A: .LFB1406: pushl %ebp .LCFI0: movl %esp, %ebp .LCFI1: subl $8, %esp .LCFI2: movl 8(%ebp), %eax movl (%eax), %eax movl (%eax), %edx movl 8(%ebp), %eax movl %eax, (%esp) call *%edx leave ret .LFE1406: .size _Z5callfP1A, .-_Z5callfP1A .globl __gxx_personality_v0 .section .text._ZN1AC1Ev,"axG",@progbits,_ZN1AC1Ev,comdat .align 2 .weak _ZN1AC1Ev .type _ZN1AC1Ev, @function _ZN1AC1Ev: .LFB1410: pushl %ebp .LCFI3: movl %esp, %ebp .LCFI4: movl $_ZTV1A+8, %edx movl 8(%ebp), %eax movl %edx, (%eax) popl %ebp ret .LFE1410: .size _ZN1AC1Ev, .-_ZN1AC1Ev .text .align 2 .globl main .type main, @function main: .LFB1407: leal 4(%esp), %ecx .LCFI5: andl $-16, %esp pushl -4(%ecx) .LCFI6: pushl %ebp .LCFI7: movl %esp, %ebp .LCFI8: pushl %ecx .LCFI9: subl $20, %esp .LCFI10: leal -8(%ebp), %eax movl %eax, (%esp) call _ZN1AC1Ev leal -8(%ebp), %eax movl %eax, (%esp) call _Z5callfP1A movl $0, %eax addl $20, %esp popl %ecx popl %ebp leal -4(%ecx), %esp ret .LFE1407: .size main, .-main .align 2 .type _Z41__static_initialization_and_destruction_0ii, @function _Z41__static_initialization_and_destruction_0ii: .LFB1417: pushl %ebp .LCFI11: movl %esp, %ebp .LCFI12: subl $24, %esp .LCFI13: movl %eax, -4(%ebp) movl %edx, -8(%ebp) cmpl $1, -4(%ebp) jne .L11 cmpl $65535, -8(%ebp) jne .L11 movl $_ZSt8__ioinit, (%esp) call _ZNSt8ios_base4InitC1Ev movl $__dso_handle, 8(%esp) movl $0, 4(%esp) movl $__tcf_0, (%esp) call __cxa_atexit .L11: leave ret .LFE1417: .size _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii .align 2 .type _GLOBAL__I__Z7exploitv, @function _GLOBAL__I__Z7exploitv: .LFB1419: pushl %ebp .LCFI14: movl %esp, %ebp .LCFI15: subl $8, %esp .LCFI16: movl $65535, %edx movl $1, %eax call _Z41__static_initialization_and_destruction_0ii leave ret .LFE1419: .size _GLOBAL__I__Z7exploitv, .-_GLOBAL__I__Z7exploitv .align 2 .type __tcf_0, @function __tcf_0: .LFB1418: pushl %ebp .LCFI17: movl %esp, %ebp .LCFI18: subl $8, %esp .LCFI19: movl $_ZSt8__ioinit, (%esp) call _ZNSt8ios_base4InitD1Ev leave ret .LFE1418: .size __tcf_0, .-__tcf_0 .section .rodata .LC0: .string "In f\n" .section .text._ZN1A1fEv,"axG",@progbits,_ZN1A1fEv,comdat .align 2 .weak _ZN1A1fEv .type _ZN1A1fEv, @function _ZN1A1fEv: .LFB1404: pushl %ebp .LCFI20: movl %esp, %ebp .LCFI21: subl $8, %esp .LCFI22: movl $.LC0, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc leave ret .LFE1404: .size _ZN1A1fEv, .-_ZN1A1fEv .section .rodata .LC1: .string "In exploit\n" .text .align 2 .globl _Z7exploitv .type _Z7exploitv, @function _Z7exploitv: .LFB1405: pushl %ebp .LCFI23: movl %esp, %ebp .LCFI24: subl $8, %esp .LCFI25: movl $.LC1, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc leave ret .LFE1405: .size _Z7exploitv, .-_Z7exploitv .local _ZSt8__ioinit .comm _ZSt8__ioinit,1,1 .weak _ZTV1A .section .rodata._ZTV1A,"aG",@progbits,_ZTV1A,comdat .align 8 .type _ZTV1A, @object .size _ZTV1A, 12 _ZTV1A: .long 0 .long _ZTI1A .long _ZN1A1fEv .weak _ZTI1A .section .rodata._ZTI1A,"aG",@progbits,_ZTI1A,comdat .align 4 .type _ZTI1A, @object .size _ZTI1A, 8 _ZTI1A: .long _ZTVN10__cxxabiv117__class_type_infoE+8 .long _ZTS1A .weak _ZTS1A .section .rodata._ZTS1A,"aG",@progbits,_ZTS1A,comdat .type _ZTS1A, @object .size _ZTS1A, 3 _ZTS1A: .string "1A" .weakref _Z20__gthrw_pthread_oncePiPFvvE,pthread_once .weakref _Z27__gthrw_pthread_getspecificj,pthread_getspecific .weakref _Z27__gthrw_pthread_setspecificjPKv,pthread_setspecific .weakref _Z22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_,pthread_create .weakref _Z22__gthrw_pthread_cancelm,pthread_cancel .weakref _Z26__gthrw_pthread_mutex_lockP15pthread_mutex_t,pthread_mutex_lock .weakref _Z29__gthrw_pthread_mutex_trylockP15pthread_mutex_t,pthread_mutex_trylock .weakref _Z28__gthrw_pthread_mutex_unlockP15pthread_mutex_t,pthread_mutex_unlock .weakref _Z26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t,pthread_mutex_init .weakref _Z30__gthrw_pthread_cond_broadcastP14pthread_cond_t,pthread_cond_broadcast .weakref _Z25__gthrw_pthread_cond_waitP14pthread_cond_tP15pthread_mutex_t,pthread_cond_wait .weakref _Z26__gthrw_pthread_key_createPjPFvPvE,pthread_key_create .weakref _Z26__gthrw_pthread_key_deletej,pthread_key_delete .weakref _Z30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t,pthread_mutexattr_init .weakref _Z33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti,pthread_mutexattr_settype .weakref _Z33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t,pthread_mutexattr_destroy .section .eh_frame,"a",@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0x0 .byte 0x1 .string "zP" .uleb128 0x1 .sleb128 -4 .byte 0x8 .uleb128 0x5 .byte 0x0 .long __gxx_personality_v0 .byte 0xc .uleb128 0x4 .uleb128 0x4 .byte 0x88 .uleb128 0x1 .align 4 .LECIE1: .LSFDE1: .long .LEFDE1-.LASFDE1 .LASFDE1: .long .LASFDE1-.Lframe1 .long .LFB1406 .long .LFE1406-.LFB1406 .uleb128 0x0 .byte 0x4 .long .LCFI0-.LFB1406 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI1-.LCFI0 .byte 0xd .uleb128 0x5 .align 4 .LEFDE1: .LSFDE5: .long .LEFDE5-.LASFDE5 .LASFDE5: .long .LASFDE5-.Lframe1 .long .LFB1407 .long .LFE1407-.LFB1407 .uleb128 0x0 .byte 0x4 .long .LCFI5-.LFB1407 .byte 0xc .uleb128 0x1 .uleb128 0x0 .byte 0x9 .uleb128 0x4 .uleb128 0x1 .byte 0x4 .long .LCFI6-.LCFI5 .byte 0xc .uleb128 0x4 .uleb128 0x4 .byte 0x4 .long .LCFI7-.LCFI6 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI8-.LCFI7 .byte 0xd .uleb128 0x5 .byte 0x4 .long .LCFI9-.LCFI8 .byte 0x84 .uleb128 0x3 .align 4 .LEFDE5: .LSFDE7: .long .LEFDE7-.LASFDE7 .LASFDE7: .long .LASFDE7-.Lframe1 .long .LFB1417 .long .LFE1417-.LFB1417 .uleb128 0x0 .byte 0x4 .long .LCFI11-.LFB1417 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI12-.LCFI11 .byte 0xd .uleb128 0x5 .align 4 .LEFDE7: .LSFDE9: .long .LEFDE9-.LASFDE9 .LASFDE9: .long .LASFDE9-.Lframe1 .long .LFB1419 .long .LFE1419-.LFB1419 .uleb128 0x0 .byte 0x4 .long .LCFI14-.LFB1419 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI15-.LCFI14 .byte 0xd .uleb128 0x5 .align 4 .LEFDE9: .LSFDE11: .long .LEFDE11-.LASFDE11 .LASFDE11: .long .LASFDE11-.Lframe1 .long .LFB1418 .long .LFE1418-.LFB1418 .uleb128 0x0 .byte 0x4 .long .LCFI17-.LFB1418 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI18-.LCFI17 .byte 0xd .uleb128 0x5 .align 4 .LEFDE11: .LSFDE13: .long .LEFDE13-.LASFDE13 .LASFDE13: .long .LASFDE13-.Lframe1 .long .LFB1404 .long .LFE1404-.LFB1404 .uleb128 0x0 .byte 0x4 .long .LCFI20-.LFB1404 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI21-.LCFI20 .byte 0xd .uleb128 0x5 .align 4 .LEFDE13: .LSFDE15: .long .LEFDE15-.LASFDE15 .LASFDE15: .long .LASFDE15-.Lframe1 .long .LFB1405 .long .LFE1405-.LFB1405 .uleb128 0x0 .byte 0x4 .long .LCFI23-.LFB1405 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI24-.LCFI23 .byte 0xd .uleb128 0x5 .align 4 .LEFDE15: .ident "GCC: (GNU) 4.1.2 20080704 (Red Hat 4.1.2-44)" .section .note.GNU-stack,"",@progbits