eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+4 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› sysenter
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 10 февраля 2012 00:23 New!
Цитата · Личное сообщение · #1

господа, а существует ли какая нибудь документация или маны по использовани sysenter?
Поделитесь пжл а то не нагуглил практически ничего

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 15 февраля 2012 00:10 · Поправил: tiranosaur New!
Цитата · Личное сообщение · #2

))) только я прогу пишу для себя. а под другие системы создать версии для них. кстати сисентер довольно забавная штукенция. особенно для инжекта. и проверить на какой винде и какие номера системных вызовов, а также какое прерывание используется, проблем не составит. я по-моему даже готовый код где-то видел.
Господа кодеры посоветуйте простенький метод IPC.
задача какая? внедряю код в процесс, не длл а код. код переносимый, проверял. мне нужно наладить простенький канал передачи строк между 2мя процессами. какой метод из всяких мьютексов пайпой самый простой в реализации( в инжектируемом коде)


Ранг: 646.0 (!)
Статус: Участник
ALIEN Hack Team

Создано: 15 февраля 2012 00:29 · Поправил: ARCHANGEL New!
Цитата · Личное сообщение · #3

Самый быстрый - разделяемая память+событие.

Добавлено
А по сложности - практически одинаково. Ну если только совсем какие-то экзотические способы не будете применять.

Ранг: 14.7 (новичок)
Статус: Участник

Создано: 15 февраля 2012 00:33 New!
Цитата · Личное сообщение · #4

tiranosaur пишет:
самый простой в реализации( в инжектируемом коде)


Ранг: 481.4 (мудрец)
Статус: Участник
Тот самый :)

Создано: 17 февраля 2012 21:50 · Поправил: Hexxx New!
Цитата · Личное сообщение · #5

tiranosaur пишет:
а также какое прерывание используется, проблем не составит

wow64 не использует прерывания. Это эмулятор. Он посылает нафиг тех, кто не дергает ntdll.dll, а пытается напрямую апи ядра вызывать.

Ранг: 5.1 (гость)
Статус: Участник

Создано: 24 ноября 2018 00:31 · Поправил: IOCTL_ New!
Цитата · Личное сообщение · #6

Интересная темка. Только я вот что-то так и не понял, как пересесть с int 2E на SYSENTER...
Вот, например, рабочий код int 2E для хрюши. Как его на SYSENTER правильно переделать?
Code:
  1. mov eax,43h
  2. push HelloWorld
  3. lea edx, [esp]
  4. int 2Eh


Ранг: 264.9 (наставник)
Статус: Участник

Создано: 24 ноября 2018 07:49 · Поправил: difexacaw New!
Цитата · Личное сообщение · #7

IOCTL_

А что именно не понятно ?
Из за иного механизма возврата аргументы смещаются на стеке. Так реализовано, потому что при прерывании сохраняется его адрес(trap), а при sysenter источник вызова не известен. Поэтому и возврат происходит на фикс. адрес(из ядра, стаб который выполняет переход по рет), а адрес возврата передаётся через стек. Отсюда и смещение.

| Сообщение посчитали полезным: IOCTL_, punxer


Ранг: 5.1 (гость)
Статус: Участник

Создано: 24 ноября 2018 18:32 · Поправил: IOCTL_ New!
Цитата · Личное сообщение · #8

difexacaw
Всё ясно, спасибо!

Добавлено:
А вообще, что очень приятно, на этом форуме подход совершенно иной, чем на многих других форумах, на которых: запостил код, написал "памагите!" и тебе выдали рабочий вариант кода или ткнули носом в какую-то строчку, написав, мол, "должно быть вот так" без каких-либо пояснений. А здесь всё по-другому. Здесь учат думать. Спасибо!
<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› sysenter

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS