Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Ring0: Callgate, Driver
Посл.ответ Сообщение

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

Создано: 05 августа 2006 14:40
· Личное сообщение · #1

Вообщем переписываю я библиотеку MS Rem'a c wasm.ru.

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

Вообщем ищу помощи, если кто в этом разбирается, то могу прислать проект и драйвер.

ГУРУ, отзовитесь, плиз, а то скоро крыша съедет.))



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

Создано: 05 августа 2006 16:13
· Личное сообщение · #2

В чем конкретно траблы и на что переписываешь? И какую библиотеку?



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

Создано: 05 августа 2006 16:27
· Личное сообщение · #3

Библиотека вот эта www.wasm.ru/pub/21/files/ring0.rar (она на делфи, хочу получить на С++),
но там много лишнего для меня, на данный момент хочу лишь выполнить код на уровне ринг0, не важно какой даже.

Проблему я уже описал, а найти ее причины не могу.
Создаю в реестре ключи, потом загружаю драйвер, причем все проходит без траблов.
потом CreateFile(hDriver и тд), тоже все без траблов, хэнд возвращает.
но при попытке записи WriteFile синий экран.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 05 августа 2006 16:38
· Личное сообщение · #4

Werox, а ты пробовал прочесть, то что на этом синем экране?

-----
Всем привет, я вернулся




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

Создано: 05 августа 2006 16:42
· Личное сообщение · #5

конечно, DRIVER_IRQL_NOT_LESS_OR_EQUAL



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

Создано: 05 августа 2006 18:08
· Личное сообщение · #6

0x0000000A: IRQL_NOT_LESS_OR_EQUAL

Была сделана попытка затронуть виртуальную память на внутреннем процессе IRQ уровня, который слишком высок.
Наиболее частая причина возникновения - драйвер устройства использует неверный адрес.

Параметры:
1 - адрес, по которому выполнено ошибочное обращение
2 - IRQL, который использовалcя для обращения к памяти
3 - тип доступа к памяти: 0 = операция чтения, 1 = операция записи
4 - адрес инструкции, которая затребовала доступ к памяти по адресу

Вобщем где-то память неправитьно выделяется. На том уровне IRQL на котором крутится драйвер свопом нельзя пользоваться.




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

Создано: 05 августа 2006 18:24
· Личное сообщение · #7

Лично я делал так, фигачишь в стрёмном месте в драйвере int 3, в асе набиваешь bpint 3 и пошёл айсом по драйверу гулять и проверять, где падает и почему. В конце концов именно для этого айс и создавался, а не для ломания софта.



Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 05 августа 2006 23:36
· Личное сообщение · #8

Werox
Явно без исходников того, что ты написал, и без более подробной инфы о том, где и как падает врядли тебе кто-то поможет...

-----
Research is my purpose




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

Создано: 07 августа 2006 12:46
· Личное сообщение · #9

Всем спасибо, конечно.

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

Всем спасибо.



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

Создано: 16 августа 2006 14:57
· Личное сообщение · #10

Через драйвер все работает а вот через Call Gate не хочет. Все запарывается на ZwOpenSection



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

Создано: 05 ноября 2011 10:53 · Поправил: bowrouco
· Личное сообщение · #11

> С калгейтами вообще ничего не получается, хотя вроде и все правильно делаю.

И не получится. При вызове колгейта не изменяются флажки. Тоесть не маскируются прерывания(IF), не сбрасывается TF etc. Прерывания не могут быть разрешены, покуда не сформирован т-фрейм. Шлюз вызова это способ закрэшить систему.

> Все запарывается на ZwOpenSection

Не сформирован т-фрейм.




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 05 ноября 2011 11:52
· Личное сообщение · #12

bowrouco Ты на дату последнего поста смотрел?



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

Создано: 05 ноября 2011 12:18 · Поправил: bowrouco
· Личное сообщение · #13

Nightshade
Ну старый топик и что, вы так хорошо разбираетесь в этих механизмах, что можно их не обсуждать

Темболее что тема не раскрыта.


 eXeL@B —› Программирование —› Ring0: Callgate, Driver
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати