Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как передать в прогу параметры

7.6K
06 июня 2004 года
Altermann
1 / / 06.06.2004
Эта резидентная прога после второго вызова говорит, что она уже в памяти. Используйте /u для удаления. Как только не пробовал передавать параметры - не удаляется.
Вопрос: как в нее передать параметр /u



;GameFucker! v2.00release (c) ViciouSCoDeR 1998
;
; Ребутит комп при попытке установки любого графического режима...
; Так что в гамесы не поиграют ламмеры =8)
;
.MODEL Tiny
.CODE
Org 100h
include maclib.pcl
start:
jmp short Init ;Инсталлируем TSR
Int10h:
cmp ax,0311h ;Мож мы уже в памяти
jne NotInMem
xchg ah,al
iret
NotInMem:
cmp ah,0 ;Установка режима?
jne Orig10h
cmp al,3 ;Текстовый?
jbe Orig10h
int 19h ;Reboot

Orig10h:
DB 0eah ;Ломимся на ориг.
Int_10h DD 0 ;обработчик...
Init:
mov ax,0311h ;В памяти мы уже?
int 10h
cmp ax,1103h
je InMem ;Ага...в ней =8)
mov ah,9
lea dx,msgTsrOK
int 21h
mov ax,3510h ;Узнаем адресс
int 21h ;оригинального
mov WORD PTR Int_10h,bx ;обработчика
mov WORD PTR Int_10h+2,es
mov ax,2510h ;Установим свой
lea dx,Int10h
int 21h
lea dx,Init ;TSR!
int 27h
InMem: ;Ага...в памяти!
; mov si,82h ;Анинсталлим?
mov al,cs_el[1]
cmp al,'u'
jne Par
; cmp WORD PTR [si],'u/'
; jne Par
beep 1
push ds ;=8) Это понятно...
mov ax,3510h ;Узнаем сег:смещ
int 21h ;нашей резидентной
mov dx,es:[bx+14h] ;проги.А теперь кла-
mov ds,es:[bx+16h] ;дем в ds:dx адресс
mov ax,2510h ;оригинального обра-
;ботчика 10-ого инта
;и устанавливаем его.
int 21h ;Берем это из пере-
mov ah,49h ;менной Int_10h из
int 21h ;*РЕЗИДЕHТА*...Осво-
pop ds ;бождаем память...
mov ah,9 ;
lea dx,msgRemOK ;
int 21h
int 20h
Par:
mov ah,9
lea dx,msgInMem
int 21h
int 20h
cs_el db ?
msgTsrOK DB 'GameFucker! v2.00 (c) ViciouSCoDeR 1998',13,10,13,10,7
DB "GameFucker! successfully loaded.....Lammers can't play games =8)$"
msgInMem DB 13,10,7,'GameFucker! v2.00 is already loaded...',13,10
DB 'Use key /u to uninstall...',7,36
msgRemOK DB 13,10,'GameFucker! v2.00 successfully removed from memory...',7,36
end start
1.8K
07 июня 2004 года
Exfector
74 / / 12.10.2002
Цитата:
Originally posted by Altermann
Эта резидентная прога после второго вызова говорит, что она уже в памяти. Используйте /u для удаления. Как только не пробовал передавать параметры - не удаляется.
Вопрос: как в нее передать параметр /u



;GameFucker! v2.00release (c) ViciouSCoDeR 1998
;
; Ребутит комп при попытке установки любого графического режима...
; Так что в гамесы не поиграют ламмеры =8)
;
.MODEL Tiny
.CODE
Org 100h
include maclib.pcl
start:
jmp short Init ;Инсталлируем TSR
Int10h:
cmp ax,0311h ;Мож мы уже в памяти
jne NotInMem
xchg ah,al
iret
NotInMem:
cmp ah,0 ;Установка режима?
jne Orig10h
cmp al,3 ;Текстовый?
jbe Orig10h
int 19h ;Reboot

Orig10h:
DB 0eah ;Ломимся на ориг.
Int_10h DD 0 ;обработчик...
Init:
mov ax,0311h ;В памяти мы уже?
int 10h
cmp ax,1103h
je InMem ;Ага...в ней =8)
mov ah,9
lea dx,msgTsrOK
int 21h
mov ax,3510h ;Узнаем адресс
int 21h ;оригинального
mov WORD PTR Int_10h,bx ;обработчика
mov WORD PTR Int_10h+2,es
mov ax,2510h ;Установим свой
lea dx,Int10h
int 21h
lea dx,Init ;TSR!
int 27h
InMem: ;Ага...в памяти!
; mov si,82h ;Анинсталлим?
mov al,cs_el[1]
cmp al,'u'
jne Par
; cmp WORD PTR [si],'u/'
; jne Par
beep 1
push ds ;=8) Это понятно...
mov ax,3510h ;Узнаем сег:смещ
int 21h ;нашей резидентной
mov dx,es:[bx+14h] ;проги.А теперь кла-
mov ds,es:[bx+16h] ;дем в ds:dx адресс
mov ax,2510h ;оригинального обра-
;ботчика 10-ого инта
;и устанавливаем его.
int 21h ;Берем это из пере-
mov ah,49h ;менной Int_10h из
int 21h ;*РЕЗИДЕHТА*...Осво-
pop ds ;бождаем память...
mov ah,9 ;
lea dx,msgRemOK ;
int 21h
int 20h
Par:
mov ah,9
lea dx,msgInMem
int 21h
int 20h
cs_el db ?
msgTsrOK DB 'GameFucker! v2.00 (c) ViciouSCoDeR 1998',13,10,13,10,7
DB "GameFucker! successfully loaded.....Lammers can't play games =8)$"
msgInMem DB 13,10,7,'GameFucker! v2.00 is already loaded...',13,10
DB 'Use key /u to uninstall...',7,36
msgRemOK DB 13,10,'GameFucker! v2.00 successfully removed from memory...',7,36
end start



Одно из решений: подорви функцию 4Bh (EXEC) и при выловЛи попытки запуска тойже *.exe - деинстал~ резидент.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог