|
Вопрос # 4 751/ вопрос открыт / |
|
Здравствуйте, эксперты!
Пожалуйста, помогите разобраться: нужно составить резидентную прогу, которая устанавливает на каталог, указанный в командной строке, пароль, вводимый пользователем при запуске проги. После этого программа запрашивает пароль при любой попытке пользователя попасть в этот каталог. Написал вот такой кусок, но прога вылетает сразу после установки пароля:
Приложение: Переключить в обычный режим- .286
- cseg segment
- assume cs:cseg, ds:cseg, ss:cseg, es:cseg
-
- org 100h
-
- Begin:
-
-
-
-
- Int_21h_proc proc
-
- ;jne Check_funcs
-
-
-
-
- Check_funcs:
-
-
-
- pusha
- push ds
- push es
-
- push dx
- dec dx
- Findz:
-
- inc dx
- mov di,dx
- mov al,byte ptr ds:[di]
- cmp al,0
- jne Findz
- mov cx,dx
- pop dx
- sub cx,dx
- push cs
- pop es
- lea di,curdir
- mov si,dx
- rep movsb
-
- lea di,dir
-
-
- mov cx, 64
- cld
-
- jne Go_21h
-
-
- mov ah,09h
- int 21h
- mov di,offset entpas
- xor cx,cx
- ent:
-
-
- int 21h
-
- jz prov
- cmp cx,5
- jge ent
-
-
-
- mov ah,02h
- mov dl,"*"
-
-
- prov:
-
- push ds
- pop es
- lea di,entpas
- lea si,pas
- mov cx,5
- cld
-
- je Do_not
-
-
- Go_21h:
-
-
-
-
-
-
-
- Do_not:
-
- pop es
- pop ds
- popa
-
-
-
-
-
- dir db 64 dup(0)
- curdir db 64 dup(0)
- pas db 5 dup(' ')
- entpas db 5 dup(' ')
- paswin db 'Enter password (5 symbols)$'
-
-
- Int_21h_proc endp
-
-
- ; ===============================================================
-
- Init:
-
-
-
- jne Set_resident
-
-
- mov dx,offset In_memory
- int 21h
-
-
-
-
-
- push cs
- pop ds
- push cs
- pop es
-
- mov di,81h
- mov al," "
- mov cx,64
- repe scasb
- dec di
- push di
- pop si
- mov cl,ds:[80h]
- dec cl
- lea di,dir
- rep movsb
-
-
-
-
- mov ah,09h
- int 21h
-
- xor cx,cx
- Ent_pas:
-
-
- int 21h
-
- jz Next
- cmp cx,5
- jge ent_pas
-
-
-
- mov ah,02h
- mov dl,"*"
-
-
- Next:
-
-
- mov ax,3521h
-
-
-
-
- mov ax,2521h
- mov dx,offset Int_21h_proc
-
-
-
- mov dx,offset Init
-
-
-
- cseg ends
- end Begin
-
 |
Вопрос задала: lina89 (статус: Посетитель)
Вопрос отправлен: 19 ноября 2010, 20:49
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 21 ноября 2010, 01:10; участников в обсуждении: 1.
|
Вадим К (статус: Академик), 21 ноября 2010, 01:10 [#1]:
а запускается программа не с под висты/севена случайно?
Для чистоты эксперимента, лучше воспользоваться dosbox'ом, гляди и заработает
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|