Rev 2325 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2325 | Rev 6088 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | 2 | ||
3 | db 'MENUET01' |
3 | db 'MENUET01' |
4 | dd 1 |
4 | dd 1 |
5 | dd start |
5 | dd start |
6 | dd i_end |
6 | dd i_end |
7 | dd mem |
7 | dd mem |
8 | dd mem |
8 | dd mem |
9 | dd cmdline |
9 | dd cmdline |
10 | dd path |
10 | dd path |
11 | 11 | ||
- | 12 | SRV_CMDLINE equ 4 |
|
- | 13 | ||
12 | start: |
14 | start: |
13 | mov eax, 68 |
15 | mov eax, 68 |
14 | mov ebx, 16 |
16 | mov ebx, 16 |
15 | mov ecx, sz_display |
17 | mov ecx, sz_display |
16 | int 0x40 |
18 | int 0x40 |
17 | test eax, eax |
19 | test eax, eax |
18 | jnz .done ; FIXME parse command line and |
20 | jz .load |
- | 21 | ||
- | 22 | xor ebx, ebx |
|
- | 23 | ||
- | 24 | push ebx ;.out_size |
|
19 | ; call service |
25 | push ebx ;.output |
- | 26 | push 4 ;.inp_size |
|
20 | 27 | push cmdline ;.input |
|
- | 28 | push SRV_CMDLINE ;.code |
|
- | 29 | push eax ;.handle |
|
- | 30 | ||
- | 31 | mov eax, 68 |
|
- | 32 | mov ebx, 17 |
|
- | 33 | mov ecx, esp ;[ioctl] |
|
- | 34 | int 0x40 |
|
- | 35 | ||
- | 36 | mov eax, -1 |
|
- | 37 | int 0x40 |
|
- | 38 | ||
- | 39 | .load: |
|
21 | xor eax, eax |
40 | xor eax, eax |
22 | mov ecx, 1024 |
41 | mov ecx, 1024 |
23 | mov edi, path |
42 | mov edi, path |
24 | cld |
43 | cld |
25 | repne scasb |
44 | repne scasb |
26 | dec edi |
45 | dec edi |
27 | mov [edi], dword '.dll' |
46 | mov [edi], dword '.dll' |
28 | mov [edi+4], al |
47 | mov [edi+4], al |
29 | mov eax, 68 |
48 | mov eax, 68 |
30 | mov ebx, 21 |
49 | mov ebx, 21 |
31 | mov ecx, path |
50 | mov ecx, path |
32 | mov edx, cmdline |
51 | mov edx, cmdline |
33 | int 0x40 |
52 | int 0x40 |
34 | .done: |
53 | |
35 | mov eax, -1 |
54 | mov eax, -1 |
36 | int 0x40 |
55 | int 0x40 |
37 | 56 | ||
38 | sz_display db 'DISPLAY',0 |
57 | sz_display db 'DISPLAY',0 |
39 | 58 | ||
40 | align 4 |
59 | align 4 |
41 | i_end: |
60 | i_end: |
42 | cmdline rb 256 |
61 | cmdline rb 256 |
43 | path rb 1024 |
62 | path rb 1024 |
44 | rb 16 ; stack |
63 | rb 16 ; stack |
45 | mem: |
64 | mem: |