Сейчас на форуме: rmn, exp50848 (+7 невидимых)

 eXeL@B —› Основной форум —› Int3
Посл.ответ Сообщение


Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 31 января 2005 00:15
· Личное сообщение · #1

Хочу встроить в тело исследуемой проги обработку
этого прерывания. Как переадресовать ее на мой код?
Нет ли у кого образца - желательно минимального размера?




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 31 января 2005 00:44
· Личное сообщение · #2

r99 пишет:
Хочу встроить в тело исследуемой проги обработку
этого прерывания. Как переадресовать ее на мой код?

а зачем тебе это ? вообще это сложно... переадресовать обработку прерывания можно вроде только патчем таблицы прерываний (IDT)




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 31 января 2005 00:51
· Личное сообщение · #3

Вооще это не сложно, но нужно нулевое кольцо чтобы писать в idt



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 31 января 2005 01:32
· Личное сообщение · #4

DrGolova пишет:
Вооще это не сложно

Это не сложно, сложно на нулевом кольце оказаться



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 января 2005 14:50 · Поправил: KATEHOK
· Личное сообщение · #5

Здесь моя библиотека по встраиванию точек останова (как программных, так и аппаратных). Состоит из двух частей - драйвера и собственно кода, который надо засунуть в проект. Точки останова ставятся и убираются с помощью интерфейса int3 (хотя можно и через другое прерывание). Реализация - в файле intercept.cpp. Небольшой пример - sample.cpp.
При выполнении int3 (или исключении от hwbp) начинает выполняться new_int3() в драйвере (файл sys\intercept.cpp).
new_int1() не используется
Правда, эта старая версия драйвера, в ней не хватает некоторых доп. функций (disable_sw_all() и пр.), но если надо, то могу выслать полную (на работе ее у меня нет).
Комментариев практически нет , код не прилизан, но вроде все должно быть понятно.
П.Ы. Драйвер загружать вручную, например, с помощью installer.exe (прилагается)
П.Ы.Ы. Можно в нулевое кольцо и без драйверов выходить (через \\device\\physicalmemory). Исходники есть у Зомби (HaX0R'Z KiT).
П.Ы.Ы.Ы. Да, чтобы эта штука работала вместе с айсом, его нужно загружать ДО загрузки моего драйвера (кажется так, я уже не помню :s1. Тогда айс будет брякаться на свои бряки и игнорировать установленные с помощью этой библиотеки. При аппаратных бряках нужно помнить, что их всего 4

8aeb_hooks.rar




Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 01 февраля 2005 17:20
· Личное сообщение · #6

KATEHOK
спасибо
кое-что взял с wasm-а



Ранг: 6.8 (гость), 3thx
Активность: 0.010
Статус: Участник

Создано: 20 сентября 2011 04:48
· Личное сообщение · #7

Ошибка 404 - файл не найден
Перезалейте вложение. Спасибо!



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 21 сентября 2011 00:03 · Поправил: bowrouco
· Личное сообщение · #8

parovoZZ
Это некропост, зачем он вам. Там тс наверно тупо формирует свой дескриптор в IDT для #DB/#BP, для всех камней. Так как там обработка непосредственно на !IRQL(!IF), то изврат полнейший - никакой функционал ядра, исполняемый при IF не доступен. Тоесть из ядра почти ничего нельзя юзать. Нормально следует сформировать т-фрейм. Это не грамотная реализация(в придачу обвешена всякими механизмами понижения кпл, типо физиклмемори или нтсистемдебугконтрол), вам она не нужна.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 21 сентября 2011 10:20
· Личное сообщение · #9

bowrouco
Помнится, мне когда-то нужна было норм реализация на С (с использованием WDK) перехвата KiTrap_03 в ядре, без NtSystemDebugControl и прочих недокументированных сервисов, и что? Нема! Тож тогда давали советы, что, типа, если тупо перехватить интересующий меня обработчик в IDT, то я не смогу ... (тут большой список всего, чего не смогу). Ну так покажите, как надо. Мы открыты для новых знаний.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 21 сентября 2011 21:35
· Личное сообщение · #10

ARCHANGEL
Вы товарищ не грамотный, ламер проще говоря. Вы даже не понимаете что такое т-фрейм, а значит не понимаете что есть задача и вообще протектед мод. Учите матчасть. А тупо выучить название векторов и скомпилить примитивный дров могут все.




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 21 сентября 2011 22:51 · Поправил: OnLyOnE
· Личное сообщение · #11

bowrouco пишет:
Вы товарищ не грамотный, ламер проще говоря

Ты это... поосторожнее с определениями
А то и бан схлопотать не долго...
ARCHANGEL-а я знаю по конкретным делам...
А ты кто?

-----
aLL rIGHTS rEVERSED!





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 21 сентября 2011 22:59
· Личное сообщение · #12

bowrouco
Вы товарищ не грамотный, ламер проще говоря... А тупо выучить название векторов и скомпилить примитивный дров могут все.

Может быть. Не хочется сейчас бросаться громкими словами, я прекрасно осознаю величину своего скила, до некоторых людей мне действительно весьма далеко. Но раз примитивный драйвер могут скомпилить все, а я всего лишь не понимаю, что такое TRAP_FRAME, значит мне не так много надо выучить из матчасти.

OnLyOnE
Thanks, бро. Но банить его не стоит, с ним веселее

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 21 сентября 2011 23:47
· Личное сообщение · #13

OnLyOnE
Да это Clerk)) Человек знающий, но особо ни когда ничего не подсказывает

-----
Research For Food




Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 22 сентября 2011 04:03 · Поправил: bowrouco
· Личное сообщение · #14

ARCHANGEL
Извините, это меня немного понесло, от рыбки..

Не думайте что я говном кидаюсь. Просто я не вижу смысла разбирать тут всякие разные проблемы с обработкой прерываний, так как для понимания нужно кое что знать. Да, нет нормального пути т-фрейм сформировать. Обычно я беру kimacro.inc и вставляю себе в проект, хорошо что он на масме. Эта структура к оси привязана, так что этот модуль только для отладки у себя на машине. В глобальном продукте я использую немного не стандартный подход - в буфер морфится всё макро. Морфится это не чтото страшное, а простой перенос инструкций в другое место и правка смещений в ветвлениях. Иного годного способа я не вижу, разве что модуль релоцировать, но это корявый способ.




Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 22 сентября 2011 13:38
· Личное сообщение · #15

Остапа понесло...



Ранг: 6.8 (гость), 3thx
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 00:52
· Личное сообщение · #16

Ну перезалейте поджалуйста!



Ранг: 37.1 (посетитель), 11thx
Активность: 0.030
Статус: Участник

Создано: 25 июля 2012 22:55 · Поправил: Promix_17
· Личное сообщение · #17

А почему бы просто не добавить свой обработчик исключения в саму программу из ring 3? Или просто запустить программу из под собственного минимального WinAPI отладчика?



Ранг: 6.8 (гость), 3thx
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 23:06
· Личное сообщение · #18

Promix_17
Можно. Тольно интересна ring0 реализация.



Ранг: 37.1 (посетитель), 11thx
Активность: 0.030
Статус: Участник

Создано: 25 июля 2012 23:08 · Поправил: Promix_17
· Личное сообщение · #19

parovoZZ
Просто в вопросе этого не указано



Ранг: 6.8 (гость), 3thx
Активность: 0.010
Статус: Участник

Создано: 25 июля 2012 23:18
· Личное сообщение · #20

Promix_17
В каком вопросе? На даты посмотрите.
Негде не могу найти то что KATEHOK приаттачил.
r99
Жадинаскажет потерял



Ранг: 1.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 30 декабря 2012 18:48
· Личное сообщение · #21

Информации по хукам IDT много. А конкретную реализацию на примере перехватов INT 1 и INT 3 можно посмотреть тут http://www.codeproject.com/Articles/13677/Hooking-the-kernel-directly




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 30 декабря 2012 19:00
· Личное сообщение · #22

Последнему вопросу уже пол года, а топику 8 лет. Сомневаюсь, что за это время нельзя было сходить в гугл и поглядеть.


 eXeL@B —› Основной форум —› Int3
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати