Ассемблер для Windows


Динамические виртуальные драйверы - часть 2


; сегмент кода _TEXT SEGMENT DWORD PUBLIC USE32 'CODE' START: ; получить HANDLE ввода PUSH STD_INPUT_HANDLE CALL GetStdHandle@4 MOV HANDL,EAX ; открыть файл PUSH 0 PUSH FILE_FLAG_DELETE_ON_CLOSE PUSH 0 PUSH 0 PUSH 0 PUSH 0 PUSH OFFSET BUF CALL CreateFileA@28 CMP EAX,-1 JE _ERR MOV HFILE,EAX ; вызов сервиса VXD PUSH 0 PUSH 0 PUSH 0 PUSH 0 PUSH 18 PUSH OFFSET MES1 PUSH 3 ; номер сервиса PUSH HFILE CALL DeviceIoControl@32 ; ждать клавиши ENTER PUSH 0 PUSH OFFSET LENS PUSH 200 PUSH OFFSET BUFER PUSH HANDL CALL ReadConsoleA@20 ; закрыть и выгрузить драйвер PUSH HFILE CALL CloseHandle@4 _EXIT: ; конец работы программы PUSH 0 CALL ExitProcess@4 _ERR: PUSH 0 ; MB_OK PUSH OFFSET CAP PUSH OFFSET MES PUSH 0 ; дескриптор окна CALL MessageBoxA@16 JMP _EXIT _TEXT ENDS END START




- Начало -  - Назад -  - Вперед -



Книжный магазин