|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 30, 2004 17:17:52 Сорри код забыл =) .386 .model flat, stdcall option casemap :none .code start: push 0 ; push 0FFFFFFFFh push -1 push $+14 mov eax, 0101h ; int 2Eh ; mov edx, 7ffe0300h ; call DWORD PTR ds:[edx] mov edx, esp dw 340Fh ; sysenter ; nop end start |
|
|
Дата: Сен 30, 2004 17:31:18 Знатоки асма не могли бы протестить плиз. На моём WinXP SP2 всё работает. А вот на других системах не знаю. Если можно проверьте на WinXP, WinXP SP1, Win2k, Win2k SP4, WinNT 4.0, Win9X. .386 .model flat, stdcall option casemap :none .code start: push 0 push -1 push 'WASM' push 'COOL' mov eax, 0101h mov edx, esp dw 340Fh ; sysenter end start |
|
|
Дата: Сен 30, 2004 17:34:50 · Поправил: Four-F Тот код, который я приводил у мя под XP sp0 работает. Твой тоже. |
|
|
Дата: Сен 30, 2004 18:04:19 · Поправил: bogrus Ниже XP можно и не пытаться , там sysenter - привелигированная инструкция . Да и циферки другие , могут вообще левые сервисы быть . |
|
|
Дата: Сен 30, 2004 18:22:57 2 bogrus: Мож тогда реализацию int 2Eh для Win2k показать - у меня под рукой дистра нет. |
|
|
Дата: Сен 30, 2004 18:34:18 |
|
|
Дата: Сен 30, 2004 18:45:45 n0name > Неа не прибивает =) Просто в SP2 всё переиначили =( Гы, это "устранение уязвимостей" что ли :) А я понять не мог, почему вызов вдруг косвенный. Даже адрес тот же.. я думал речь о SP1 идёт. |
|
|
Дата: Сен 30, 2004 19:09:54 2 S_T_A_S_ Я тож в начале думал =) idb от SP1 оставил - и смотрел по ней, пока OllyDbg не запустил. 2 bogrus: Как я понял этот код распространяется на всю линейку Win2K? А на WinNT работает? |
|
|
Дата: Сен 30, 2004 19:35:45 Блин да забудь об универсальности . MessageBeep на w2ksp4 это сервис 1139h , на NT4.0sp6 это 10FAh , я уже не говорю о конкретно том коде . |
|
|
Дата: Окт 5, 2004 17:36:13 n0name Посмотри внимательно этот модуль, под айсом его погоняй, а ты уверен, этот код в данном случае вообще исполняется, а не вызывется другой тип заглушки. В ХР всё зависит от фичей проца, и функции могут быть вызваны одним из 2х методов. |
|
|
Дата: Окт 5, 2004 17:38:40 bogrus sysenter - инструкция непривелегированная. Вызыватель должен обладть привелегией 3. Кроме того, в определённые регистры MSR должна быть загружена точка входа в диспетчер сервисов. Вот инструкция sysexit-требует 0. |
|
|
Дата: Окт 5, 2004 17:56:46 Уверен почти на сто проц. Прогонял и под айсом и под олли. Cardinal можешь рассказать поподробнее про регистры MSR. |
|
|
Дата: Окт 6, 2004 07:08:13 n0name про регистры MSR тебе подробнее раскажут интелловские мануалы на их же сайте... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.066 |