Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› Delphi Ring0 Library by Ms-Rem
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 01 сентября 2006 02:26
· Личное сообщение · #1

Вот скачал я эту либу с ВАСМа,попытался запустить пример и....БСОД в обоих режимах работы(WINXP-SP2).Через пару дней попробовал на WinXP SP0(без сервиспаков+на виртуальной машине VMWare) и ... запустилось всё нормально только в режиме драйвера.После этого мне пришла идея портировать код драйвера на Delphi(используя DDDK004,ссыль ниже).Всё переписал,драйвер компилится,однако вылетает синька в обоих системах.Помогите исправить ошибки.Гуру,отзовитесь!(код драйвера на Си(оригинал) и на Delphi в аттаче)

hxdef.org/download/DDDK004.zip 1.1 mb

820a_01.09.2006_CRACKLAB.rU.tgz - Driver.rar



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 01 сентября 2006 03:10
· Личное сообщение · #2

Немного переделал код драйвера(основываясь на примерах DDDK),теперь БСОД нигде не вылетает(в смысле в обоих виндах),драйвер стартует(DebugView показывает это) и выгружается нормально,однако в ProcMan написано Initialization - FALSE и ничего не происходит(с ProcMan'ом).
Код в аттаче(с оригиналом).

8f5b_01.09.2006_CRACKLAB.rU.tgz - Driver.rar



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 01 сентября 2006 05:16
· Личное сообщение · #3

Для тех кому лень искать мс-ремовскую библиотеку вот ссыль(чтоб потом протестить драйвер)
www.wasm.ru/pub/21/files/ring0.rar



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 01 сентября 2006 08:39
· Личное сообщение · #4

Неужели нет здесь умных людей??
Кста по теме,Initialization - False,т.к не может получить хэндл устройства через CreateFileA(хотя оно присутствует в системе по данным WinObjEx by Four-F).
PS.Если прекратить выполнение программы-примера(ProcMan) до конца всех операций => драйвер выгрузится только после перезагрузки(без вырузки не будет и загрузки драйвера в систему,если скомпилите пофиксеный вариант) ;) .




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

Создано: 01 сентября 2006 09:34
· Личное сообщение · #5

Ну во-первых, за 3 часа далеко не все глянули тему. Потом не у всех умных людей есть время и не все с драйверами "на ты". Как вариант-грузи софтайс и смотри, что не так.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 01 сентября 2006 09:43 · Поправил: Ara
· Личное сообщение · #6

Archer пишет:
Как вариант-грузи софтайс и смотри, что не так.

Как вариант грузить айс было предложено пару дней назад, но ему влом его грузить. Так что грузите сами.



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 01 сентября 2006 10:53
· Личное сообщение · #7

На данный момент айс мне не нужен,т.к драйвер бсод не вызывает.
Не получается получить доступ к устройству драйвера(к драйверу).
Хэндл не берётся через CreateFileA.




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

Создано: 01 сентября 2006 11:07
· Личное сообщение · #8

Айс тебе нужен всегда, когда что-то идёт не так. Он не только от БСОД помогает, не стоит лениться глянуть в айс самому-это раз. Тип
TUnicodeString = packed record
Length: Word;
MaximumLength: Word;
Buffer: PWideChar;
не очень похож на уникодовую строку-это два, возможно баг в этом. Передавать надо адрес буфера тогда уж, а лучше взять массив WideChar, потенциальный баг в общем тут. А вообще сайс рулит.




Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 01 сентября 2006 20:47
· Личное сообщение · #9

Archer пишет:
TUnicodeString = packed record
Length: Word;
MaximumLength: Word;
Buffer: PWideChar;
не очень похож на уникодовую строку-это два, возможно баг в этом.


нет, тут все нормально. действительно, именно так она и выглядит в дельфовом представлении для ряда функций виндового API. сам просто недавно столкнулся с получением пути к файлу по его хэндлу (ZwObject)



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 02 сентября 2006 02:27
· Личное сообщение · #10

Вот прога которая показывает всю информацию о системных объектах(включая драйвера и символические ссылки,свойства и т.д).Вроде устройство присутствует,а хэндл получить не получается :-?

www.freewebs.com/four-f/Tools/WinObjEx.zip



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 02 сентября 2006 10:11
· Личное сообщение · #11

Всё,драйвер я полностью переписал,добавил вывод отладочной информации(смотреть в DebugView).Драйвер как и раньше работает только на XP без сервис паков,вся бяка в самих ринг0 процедурах(Procedure Ring0Call(написаны на асме) - адрес на эту процедуру передаётся драйверу.)видать с наличием сервиспака эти комманды должны выглядеть иначе.

to Ms-Rem: скажи ,как ты нписал все ринг0 команды(Ring0Call)?Я собираюсь доделать твою либу (добавить поддержку XP-SP2),чтоб убрать вылет бсодов.
PS.Отвечай в личку.

a1e9_02.09.2006_CRACKLAB.rU.tgz - Driver.rar



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 15 сентября 2006 05:36
· Личное сообщение · #12

Неужели эта тема никому не интересна

to
Ms-Rem
Почему молчишь?Это по твоей части.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 15 сентября 2006 17:24
· Личное сообщение · #13

Ему сейчас некогда, да и все что нужно он сказал уже давно в статье...

-----
Yann Tiersen best and do not fuck




Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 16 сентября 2006 01:35
· Личное сообщение · #14

Просто в XP с SP2 не работет нифига,вот и надо его помощь



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

Создано: 17 сентября 2006 01:52
· Личное сообщение · #15

Проблема заключается не в драйвере, а в коде, который ищет указатель на структуру EPROCESS. В функции GetSystemEPROCESS для определения указателя вызывается функция IoGetCurrentProcess, которая может исполнятся только при уровне IRQ равном PASSIVE_LEVEL, это и приводит к BSOD с кодом ошибки IRQ_LEVEL_NOT_LESS_OR_EQUAL.



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 17 сентября 2006 04:29
· Личное сообщение · #16

Я уже давно понял,что дело не в драйвере,но как это исправить????Ведь все уже давно перешли на XP с SP2,а либа работет только без SP



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 17 сентября 2006 04:32
· Личное сообщение · #17

Да и по теме,никто не желает занятся доработкой DDDK?(DDDK.pas,добавить туда всяких структур,вызовов АПИ ядра,просто там много чего нет ещё).



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

Создано: 17 сентября 2006 06:39
· Личное сообщение · #18

У мну вообще после компиляции драйвер не работает. Компилировал батником который находится в корне. Вначале думал кривость рук, но потом попробывал скомпилировать sample и опять тишина.



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 17 сентября 2006 10:26
· Личное сообщение · #19

У меня всё в порядке(в системе без SP,если про Ms-Rem'овский драйвер,т.к все примеры из DDDK у меня и XP SP2 нормально компилятся и работают)
PS.В каком смысле тишина,не работет?



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

Создано: 17 сентября 2006 22:50
· Личное сообщение · #20

Что за блаж такая вообще лезть в ноль имея на борту драйвера кучу мусора вставленного дельфийским компилятором? А потом еще удивляться бсоду? Для чего вообще таким извращением заниматься? Только с целью доказать что так тоже можно? А смысл?



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 17 сентября 2006 23:04
· Личное сообщение · #21

Ты топег читаешь???Ты ослеп???Delphi многа мусора не вставляет,разница в 400 байт от оригинала(не KB!!!),бсод уже давно(ты точно слеп как дитяти) не вылетает(в XP без сервис паков,с SP2 вылетает бсод в обоих драйверах,значит всё правильно работает и в Delphi).
PS.Rouse, не флудь в топеге всякую чушь.



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

Создано: 18 сентября 2006 00:03
· Личное сообщение · #22

Да я б не флудил, кабы не видел какой ерундой ты маешся
Драйвер на Дельфи, не смеши милай, VC в руки и там работать нужно с системными вещами.



Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 18 сентября 2006 03:36
· Личное сообщение · #23

Rouse_ пишет:
Да я б не флудил, кабы не видел какой ерундой ты маешся
Драйвер на Дельфи, не смеши милай, VC в руки и там работать нужно с системными вещами.


Это не ерунда,раз я всё скомпилил.Драйвера на Delphi можно делать,посмотри аттачи.Код драйвера на Си практически ничем не отличается от драйвера на Delphi
PS.Кто-нибудь займётся доработкой DDDK.pas?(сам не могу,ибо ddk у мну нету,а автор DDDK.pas либо забосил это дело,либо очень занят)



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 18 сентября 2006 07:34
· Личное сообщение · #24

Rouse_
Ну ты хотя бы по праздникам думай а?
Какая хрен разница процессору, на чем написано? Он не си не дельфи не шарит ему только маш.код подавай! Вот и подумай, если средство позволяет из набора горе-человеко-символов получить бинарный код и этот код способен работать как драйвер, то чем плоха среда? Тем что один человек не смог, а другой смог?

-----
My love is very cool girl.





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

Создано: 18 сентября 2006 07:56
· Личное сообщение · #25

theCollision каждому инструменту своё место. а попытки пытаться натянуть инструмент на место или место на инструмент ни к чему хорошему никогда не приводили.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 18 сентября 2006 08:01
· Личное сообщение · #26

Paxan
Но если человеку удобно писать на Паскале, а тебе на Си. То ему проще на дельфи натянуть то, что надо! А вдруг получится?! Вон Four-F молодца! Слушать никого не стал, взял и разобрался как дровин на асме, да не просто разобрался, да еще не плохой мануал написал!!!

-----
My love is very cool girl.




Ранг: 73.7 (постоянный), 22thx
Активность: 0.040
Статус: Участник

Создано: 18 сентября 2006 08:01
· Личное сообщение · #27

Paxan пишет:
каждому инструменту своё место. а попытки пытаться натянуть инструмент на место или место на инструмент ни к чему хорошему никогда не приводили.

Я с тобой не согласен,если Microsoft так любит Си ,то она естественно и будет выпускать инструмент под Си,но это никому не мешает издать что-нить подобное и для Delphi.
DDDK - первая попытка,и как видно из аттача последнего,удачная,но там ещё много чего не хватает.




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

Создано: 18 сентября 2006 08:21
· Личное сообщение · #28

theCollision пишет:
Но если человеку удобно писать на Паскале, а тебе на Си.

тут дело не в удобстве, а в том что каждому инструменту своё место. есть накидать простую апликуха, то я выберу дельфи, если что-нибудь низкоуровневое или не из разряда "накидать на форму пару контролов" то выберу си. как ты думаешь, почему сайты пишут на перл/пхп/асп, а не на асме или си? потому, что каждому инструменту своё место. никто в здравом уме не будет писать расчёты по ядерной физике на пхп и сайты делать на асме. если бы борланд хотел, чтобы на дельфи писали драйвера, то он бы предоставил такую возможность. на сим дискуссию заканчиваю, оставайтесь при своём мнении.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 18 сентября 2006 15:06
· Личное сообщение · #29

theCollision пишет:
Вон Four-F молодца!


Имеется ввиду это http://www.freewebs.com/four-f/ ?




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 18 сентября 2006 15:09
· Личное сообщение · #30

Paxan пишет:
тут дело не в удобстве, а в том что каждому инструменту своё место.


Безусловно. Но это что же получается: для написания драйвера мне придётся учить Си? А если он мне больше ни для чего не пригодится, этот язык? Нелогично.


. 1 . 2 . >>
 eXeL@B —› Программирование —› Delphi Ring0 Library by Ms-Rem
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати