Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

int 21h   Найти похожие ветки 

 
unregistered   (2003-03-17 15:57) [0]

Можно ли написать резидентную программу на Паскале, которая будет перехватывать прерывание 21h и отслеживать обращения к определенным файлам, а потом передавать управление старому обработчику int21h?


 
Vlad Oshin ©   (2003-03-17 16:03) [1]


> Можно



 
Ru ©   (2003-03-17 16:05) [2]

можно если осторожно


 
NetBreaker666 ©   (2003-03-17 16:21) [3]

Такие вещи лучше на ASM"e писать.


 
Nic_B   (2003-03-17 16:32) [4]

Ну что-то типа этого (когда-то в молодости писал вири на паскале) может сгодится (но ассемблер знать надо). часть идеи выдрана из (с)Infected Voice

..
var
OldInt21: Pointer;
Regs: Registers;
..

{Свое прерывание int 21h}
procedure int21; Assembler;
asm
pushf
cmp ax,1235h
jnz @1
mov ax,1234h
popf
retf 2
@1:
push ax
push ds
xor ax,ax
mov ds,ax
cmp word ptr ds:[04F0H], 0DEADh
jnz @2 {@2}

xor ax,ax
mov ds,ax
mov word ptr ds:[04F0H], 0DEEDh

call create {а вот здесь вызывается то чего хочется запихнуть в обработчик}

pop ds
pop ax
popf
int 0e4h
retf 2

@2:
pop ds
pop ax
popf
int 0e4h
retf 2
end; {End of int 21h}
..
{main program}
begin
regs.AX:=$1235;
Intr($21,regs);
swapvectors;
if regs.AX<>$1234 then
begin
GetIntVec($21, OldInt21);
SetIntVec($21, Addr(Int21));
keep(0);
end;
end.



Страницы: 1 вся ветка

Текущий архив: 2003.04.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
4-6837
ZeroDivide
2003-01-29 15:38
2003.04.03
Изменить цвет виндового ScrollBar a


4-6843
Тихо
2003-02-04 14:01
2003.04.03
Изменение положения минимизарованного окна!


14-6788
kostya2000
2003-03-17 12:54
2003.04.03
Это просто.... нет слов.... прочитайте обязательно.... 2


14-6796
romychk
2003-03-16 16:11
2003.04.03
mp3 плейер


6-6654
Ilyasov Vadim
2003-02-10 14:09
2003.04.03
Как обеспечить обмен данными между двумя компьютерами в сети?