Вопрос как под Win9x выделить память (она обязательно должна быть видима из под всех процессов), чтобы последнюю ни прикаких обстоятельствах Win не выгружал в своп. метод FileMaped решает первую часть вопроса, но Win9x может выгрузить эту память в своп.
Код (Text): pushstr macro par1 local l_text123 call l_text123 db par1, 0 l_text123: endm .data? VxDCall_addr dd ? .code ;----------------------------------------------- ; Procedures ;----------------------------------------------- Get_VxDCall: pushstr 'kernel32.dll' call LoadLibraryA mov ecx, [eax+3Ch] mov edx, [ecx+eax+78h] add edx, eax mov edx, [edx+1Ch] ; AddressOfFunctions RVA add edx, eax mov edi, [edx] add eax, edi ; edi = VxDCall linaddr mov [VxDCall_addr], eax ret Ring0_malloc: push ebx mov ebx, eax push 8 ; PR_FIXED push eax push 80080000h ; PR_SYSTEM push 10000h ; _PageReserve call [VxDCall_addr] push eax push 60008h ; PC_FIXED + PC_USER + PC_WRITEABLE push 0 push 3 ; PD_FIXEDZERO push ebx ; nPages shr eax, 12 push eax push 10001h call [VxDCall_addr] pop eax pop ebx ret Ring0_free: push 0 push eax push 10002h call [VxDCall_addr] ret
_BC_ спасибо попробую. ps в WinXP мой отладчик работает без проблем, если пойдет эта фишка, то и под Win9x тоже будет.