Сейчас на форуме: Magister Yoda, vasilevradislav (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Int 2e vs sysenter |
Посл.ответ | Сообщение |
|
Создано: 07 января 2014 16:27 · Личное сообщение · #1 Вопрос знатокам ядра и винды. Code:
1-ый вопрос который возник - в этом коде используется адрес 7FFE0300h, который лежит за пределами ntdll.dll. Но там находится ссылка на функцию из ntdll.dll - KiFastSystemCall, которая выглядит следующим образом: Code:
Зачем так сделано, если все равно не используется рандомизация базы, да и что мешало явно вызвать системный вызов, который находится в этом же образе? Т.е. зачем-то есть внешняя ссылка, которая ссылается все равно на внутреннюю функцию модуля. Это защита от чего-то, костыль или что-то иное вне зоны моего понимания? Далее. Если попытаться расшифровать название, имеется в виду "быстрый системный вызов". Рядом есть еще вот такая функция: Code:
Это тогда что? "Медленный" системный вызов? Если тут нужен RTFM и понимание этих механизмов достигается чтением матчасти, а не опытом, то ссылки на статьи, поясняющие эти моменты, приветствуются. |
|
Создано: 07 января 2014 17:32 · Поправил: Katana · Личное сообщение · #2 Если внимательно посмотреть на эту ссылку, то увидим там следующее: Code:
Я предположил, что FastSystemCall и IntSystemCall симметричные методы. Поиск по форуму дал несколько тем, в которых номера сервисов для Int 2E и Syscall/Sysenter совпадают. Значит, это типа альтернативные методы. Пробуем запатчить на метод IntSystemCall. Вот скрипт для IDA (ест-но под отладкой, "жертва" - блокнот) Code:
И ничего! Ни ошибки, ни изменения этих ссылок. Вывода может быть два: IDA блокирует изменение этих ссылок (хотя зачем ей это было бы надо), или же, что вероятней, ядро контролирует эту память, и не позволяет ее менять. Механизм защиты? |
|
Создано: 07 января 2014 17:35 · Поправил: reversecode · Личное сообщение · #3 виндовс инсайд вас спасет sysenter не всеми cpu поддерживается, поэтому это проверяется и патчится на ходу под int если не поддерживается | Сообщение посчитали полезным: Dr0p |
|
Создано: 07 января 2014 17:47 · Личное сообщение · #4 |
eXeL@B —› Крэки, обсуждения —› Int 2e vs sysenter |
Эта тема закрыта. Ответы больше не принимаются. |