Здравствуйте! Сначала хотел бы извинится, если поместил тему не в тот раздел. Поставили задачу написать на асме программу для рисования. Просто при нажатии на левую кнопку мыши рисовать за ней след при движении. Ничего больше. Но асм практически не знаю, может быть есть у кого то подобный исходник? или хотя бы статьи на эту тему? А второй вопрос это резидентная программа слежения за MBR. Может быть у кого нибуть есть на эту тему наработки? Или есть что почитать? С Ув. Сергей!
чтение MBR, добавьте таймер, по таймеру считывайте и сравнивайте, если я правильно понимаю слежение Код (Text): format PE GUI 4.0 entry start include '%fasminc%\win32a.inc' MBR_SIZE = 512 section '.code' code readable executable align 4 start: invoke CreateFile, DeviceName, GENERIC_READ,\ FILE_SHARE_READ or FILE_SHARE_WRITE, 0, OPEN_EXISTING,\ FILE_ATTRIBUTE_NORMAL, 0 cmp eax, INVALID_HANDLE_VALUE je @exit push eax invoke ReadFile, eax, MBR, MBR_SIZE, NumberOfBytesRead, NULL test eax, eax jz @close invoke CreateFile, FileName, GENERIC_WRITE,\ FILE_SHARE_READ, 0, CREATE_ALWAYS,\ FILE_ATTRIBUTE_NORMAL, 0 cmp eax, INVALID_HANDLE_VALUE je @close push eax invoke WriteFile, eax, MBR, MBR_SIZE, NumberOfBytesRead, NULL call [CloseHandle] @close: call [CloseHandle] @exit: invoke ExitProcess, 0 section '.data' data readable writeable DeviceName db '\\.\PHYSICALDRIVE0',0 FileName db 'MBR.bin',0 section '.udata' readable writeable MBR rb MBR_SIZE NumberOfBytesRead dd ? section '.idata' import data readable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL' include '%fasminc%\APIA\KERNEL32.INC' include '%fasminc%\APIA\USER32.INC'
invisible Чтобы рисовать достаточно изучить базовые WinAPI для рисования - BeginPaint/EndPaint, LineTo, + обработка сообщений WM_PAINT, WM_LBUTTONUP. Петцольд вам поможет.