2009-10-21 13:33:33 +04:00
|
|
|
|
|
|
|
use32
|
|
|
|
|
|
|
|
db 'MENUET01'
|
|
|
|
dd 1
|
|
|
|
dd start
|
|
|
|
dd i_end
|
|
|
|
dd mem
|
|
|
|
dd mem
|
2009-10-27 01:40:01 +03:00
|
|
|
dd cmdline
|
|
|
|
dd path
|
2009-10-21 13:33:33 +04:00
|
|
|
|
|
|
|
start:
|
2009-10-27 01:40:01 +03:00
|
|
|
mov eax, 68
|
|
|
|
mov ebx, 16
|
|
|
|
mov ecx, sz_display
|
|
|
|
int 0x40
|
|
|
|
test eax, eax
|
|
|
|
jnz .done ; FIXME parse command line and
|
|
|
|
; call service
|
|
|
|
|
|
|
|
xor eax, eax
|
|
|
|
mov ecx, 1024
|
|
|
|
mov edi, path
|
|
|
|
cld
|
|
|
|
repne scasb
|
|
|
|
dec edi
|
|
|
|
mov [edi], dword '.dll'
|
|
|
|
mov [edi+4], al
|
2009-10-21 13:33:33 +04:00
|
|
|
mov eax, 68
|
|
|
|
mov ebx, 21
|
2009-10-27 01:40:01 +03:00
|
|
|
mov ecx, path
|
|
|
|
mov edx, cmdline
|
2009-10-21 13:33:33 +04:00
|
|
|
int 0x40
|
2009-10-27 01:40:01 +03:00
|
|
|
.done:
|
2009-10-21 13:33:33 +04:00
|
|
|
mov eax, -1
|
|
|
|
int 0x40
|
|
|
|
|
2009-10-27 01:40:01 +03:00
|
|
|
sz_display db 'DISPLAY',0
|
2009-10-21 13:33:33 +04:00
|
|
|
|
|
|
|
align 4
|
|
|
|
i_end:
|
2009-10-27 01:40:01 +03:00
|
|
|
cmdline rb 256
|
|
|
|
path rb 1024
|
|
|
|
rb 16 ; stack
|
2009-10-21 13:33:33 +04:00
|
|
|
mem:
|