Не, не! все дело в аццких некросовтовских вендах! типа хрюна и практически такого же мастдая вин2к3... В правелных системах (таких как ацтойная w2k), sysenter просто не заюзан, и оставлен на усмотрение кернельхацкера
Код (Text): Module: ntoskrnl.exe Section: INIT push FFDF0304 ;Указатель на переменную, принимающую адрес функции в ntdll push 005DE254 ; ASCII "KiFastSystemCallRet" call 005DE121 ;Не экспортируется; KeGetProcedureAddress_ test eax,eax jl short 005DE1CC mov dword ptr [FFDF02F8],0C3 ;Opcode Ret and dword ptr [FFDF02FC],0 ret ----------------------------------------------------------------------------------- В начале обработчика sysenter есть команда: push dword ptr [FFDF0304] ----------------------------------------------------------------------------------- KUSER_SHARED_DATA <> ReturnOpcode ULONG ? ;+2F8h ;Opcode 'Ret'=0C3h Undefined3 ULONG ? ;+2FCh SystemCall PVOID ? ;+300h SystemCallRet PVOID ? ;+304h 7FFE02F8 000000C3 7FFE02FC 00000000 7FFE0300 7C90EB8B ntdll.KiFastSystemCall 7FFE0304 7C90EB94 ntdll.KiFastSystemCallRet -----------------------------------------------------------------------------------
А тупо взять SoftIce и посмотреть в чем дело? Только не ставь при отладке 0xCC в начало своей ф-ии systenter,у айса почему-то сносит крышу.
вобщем не знаю чо у вас не работоет, вот мой код.. песал давно, щас только убрал лишнее, скампилел, запустил под ВМ, вроде пашет http://frmn.org.ua/upload/sys.rar