Народ, покажите пожалуйста как она выглядит под Win2k3 Server'ами (SP0, SP1). Что-то смещения не сходятся
Ты что с чем сравниваешь ? Скачай символы и посмотри. Вообще-то в паках отличия нет. Отличия есть между версиями винд.
k3internal Да дело в том, что в KmdKit от Four-F'а для w2k3 в EPROCESS совсем не те смещения, которые выдает WinDbg. Вот я и решил, что дело мб в SP или в различии между Enterprise, Web и Standart.
В Win2k3 с сервис паком (не важно Standard, Enterprise) EPROCESS несколько изменился, так что меняйте offset'ы
Нет, без SP, с SP1, с SP2, EPROCESS одинаковый. Насчет home edition фиг знает. А вот в Win2k3 они отличаются. И они отличаются между сервером без СП, и сервером с СП1
<А вообще лучше искать смещения, чем забивать их в код.> а смысл ? если они статические. Лучше проверить номер пака (RtlGetVersion(RTL_OSVERSIONINFOEXW))
Ну чтобы не забивать их в код. Появиться новый SP, и с ним всё тоже работать будет. Те же руткиты: обновлять их вряд ли пользователь будет
Если заботитесь о совместимости с ранними нтями, тогда RtlGetVersion лучше не использовать, потому что под 2k её нету А как что делать, это кому как нравиться. Лично нам забивания offset'ов спокойно хватает на все винды от 2k sp4 до w2k3 sp1. А словившим один раз руткит с большой вероятностью удасться подсунуть и обновленный вариант
Поведайте как под 2k3 узнать номер SP, да так, чтобы этот драйвер и под 2k работал? Я вот вроде все облазил и ничего не смог найти для реализации этого
Посмотрел как это делает RtlGetVersion и накатал свой вариант . Для тех, кому возможно понадобится (только для w2k3 и XP): Код (Text): mov esi, 0ffdff034h mov esi, [esi] add esi, 290h mov esi, [esi] mov al, byte ptr [esi+1h]