2014년 8월 17일 일요일

load dll asm

.file "loaddllex.cpp" .intel_syntax noprefix .def ___main; .scl 2; .type 32; .endef .section .rdata,"dr" LC0: .ascii "C:\\work\\dummy.dll\0" .text .globl _main .def _main; .scl 2; .type 32; .endef _main: LFB6: lea ecx, [esp+4] LCFI0: and esp, -16 push DWORD PTR [ecx-4] push ebp LCFI1: mov ebp, esp push ecx LCFI2: sub esp, 36 call ___main mov DWORD PTR [esp], OFFSET FLAT:LC0 call _LoadLibraryA@4 sub esp, 4 mov DWORD PTR [ebp-12], eax mov eax, 0 mov ecx, DWORD PTR [ebp-4] LCFI3: leave LCFI4: lea esp, [ecx-4] LCFI5: ret LFE6: .section .eh_frame,"w" Lframe1: .long LECIE1-LSCIE1 LSCIE1: .long 0 .byte 0x3 .ascii "\0" .uleb128 0x1 .sleb128 -4 .uleb128 0x8 .byte 0xc .uleb128 0x4 .uleb128 0x4 .byte 0x88 .uleb128 0x1 .align 4 LECIE1: LSFDE1: .long LEFDE1-LASFDE1 LASFDE1: .long LASFDE1-Lframe1 .long LFB6 .long LFE6-LFB6 .byte 0x4 .long LCFI0-LFB6 .byte 0xc .uleb128 0x1 .uleb128 0 .byte 0x4 .long LCFI1-LCFI0 .byte 0x10 .byte 0x5 .uleb128 0x2 .byte 0x75 .sleb128 0 .byte 0x4 .long LCFI2-LCFI1 .byte 0xf .uleb128 0x3 .byte 0x75 .sleb128 -4 .byte 0x6 .byte 0x4 .long LCFI3-LCFI2 .byte 0xc .uleb128 0x1 .uleb128 0 .byte 0x4 .long LCFI4-LCFI3 .byte 0xc5 .byte 0x4 .long LCFI5-LCFI4 .byte 0xc .uleb128 0x4 .uleb128 0x4 .align 4 LEFDE1: .ident "GCC: (GNU) 4.8.1" .def _LoadLibraryA@4; .scl 2; .type 32; .endef

댓글 없음:

댓글 쓰기