Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых) |
eXeL@B —› Программирование —› Delphi Ring0 Library by Ms-Rem |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 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 |
|
Создано: 01 сентября 2006 03:10 · Личное сообщение · #2 Немного переделал код драйвера(основываясь на примерах DDDK),теперь БСОД нигде не вылетает(в смысле в обоих виндах),драйвер стартует(DebugView показывает это) и выгружается нормально,однако в ProcMan написано Initialization - FALSE и ничего не происходит(с ProcMan'ом). Код в аттаче(с оригиналом). 8f5b_01.09.2006_CRACKLAB.rU.tgz - Driver.rar |
|
Создано: 01 сентября 2006 05:16 · Личное сообщение · #3 |
|
Создано: 01 сентября 2006 08:39 · Личное сообщение · #4 Неужели нет здесь умных людей?? Кста по теме,Initialization - False,т.к не может получить хэндл устройства через CreateFileA(хотя оно присутствует в системе по данным WinObjEx by Four-F). PS.Если прекратить выполнение программы-примера(ProcMan) до конца всех операций => драйвер выгрузится только после перезагрузки(без вырузки не будет и загрузки драйвера в систему,если скомпилите пофиксеный вариант) ;) . |
|
Создано: 01 сентября 2006 09:34 · Личное сообщение · #5 |
|
Создано: 01 сентября 2006 09:43 · Поправил: Ara · Личное сообщение · #6 |
|
Создано: 01 сентября 2006 10:53 · Личное сообщение · #7 |
|
Создано: 01 сентября 2006 11:07 · Личное сообщение · #8 Айс тебе нужен всегда, когда что-то идёт не так. Он не только от БСОД помогает, не стоит лениться глянуть в айс самому-это раз. Тип TUnicodeString = packed record Length: Word; MaximumLength: Word; Buffer: PWideChar; не очень похож на уникодовую строку-это два, возможно баг в этом. Передавать надо адрес буфера тогда уж, а лучше взять массив WideChar, потенциальный баг в общем тут. А вообще сайс рулит. |
|
Создано: 01 сентября 2006 20:47 · Личное сообщение · #9 Archer пишет: TUnicodeString = packed record Length: Word; MaximumLength: Word; Buffer: PWideChar; не очень похож на уникодовую строку-это два, возможно баг в этом. нет, тут все нормально. действительно, именно так она и выглядит в дельфовом представлении для ряда функций виндового API. сам просто недавно столкнулся с получением пути к файлу по его хэндлу (ZwObject) |
|
Создано: 02 сентября 2006 02:27 · Личное сообщение · #10 |
|
Создано: 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 |
|
Создано: 15 сентября 2006 05:36 · Личное сообщение · #12 |
|
Создано: 15 сентября 2006 17:24 · Личное сообщение · #13 |
|
Создано: 16 сентября 2006 01:35 · Личное сообщение · #14 |
|
Создано: 17 сентября 2006 01:52 · Личное сообщение · #15 Проблема заключается не в драйвере, а в коде, который ищет указатель на структуру EPROCESS. В функции GetSystemEPROCESS для определения указателя вызывается функция IoGetCurrentProcess, которая может исполнятся только при уровне IRQ равном PASSIVE_LEVEL, это и приводит к BSOD с кодом ошибки IRQ_LEVEL_NOT_LESS_OR_EQUAL. |
|
Создано: 17 сентября 2006 04:29 · Личное сообщение · #16 |
|
Создано: 17 сентября 2006 04:32 · Личное сообщение · #17 |
|
Создано: 17 сентября 2006 06:39 · Личное сообщение · #18 |
|
Создано: 17 сентября 2006 10:26 · Личное сообщение · #19 |
|
Создано: 17 сентября 2006 22:50 · Личное сообщение · #20 |
|
Создано: 17 сентября 2006 23:04 · Личное сообщение · #21 Ты топег читаешь???Ты ослеп???Delphi многа мусора не вставляет,разница в 400 байт от оригинала(не KB!!!),бсод уже давно(ты точно слеп как дитяти) не вылетает(в XP без сервис паков,с SP2 вылетает бсод в обоих драйверах,значит всё правильно работает и в Delphi). PS.Rouse, не флудь в топеге всякую чушь. |
|
Создано: 18 сентября 2006 00:03 · Личное сообщение · #22 |
|
Создано: 18 сентября 2006 03:36 · Личное сообщение · #23 Rouse_ пишет: Да я б не флудил, кабы не видел какой ерундой ты маешся Драйвер на Дельфи, не смеши милай, VC в руки и там работать нужно с системными вещами. Это не ерунда,раз я всё скомпилил.Драйвера на Delphi можно делать,посмотри аттачи.Код драйвера на Си практически ничем не отличается от драйвера на Delphi PS.Кто-нибудь займётся доработкой DDDK.pas?(сам не могу,ибо ddk у мну нету,а автор DDDK.pas либо забосил это дело,либо очень занят) |
|
Создано: 18 сентября 2006 07:34 · Личное сообщение · #24 Rouse_ Ну ты хотя бы по праздникам думай а? Какая хрен разница процессору, на чем написано? Он не си не дельфи не шарит ему только маш.код подавай! Вот и подумай, если средство позволяет из набора горе-человеко-символов получить бинарный код и этот код способен работать как драйвер, то чем плоха среда? Тем что один человек не смог, а другой смог? ----- My love is very cool girl. |
|
Создано: 18 сентября 2006 07:56 · Личное сообщение · #25 |
|
Создано: 18 сентября 2006 08:01 · Личное сообщение · #26 Paxan Но если человеку удобно писать на Паскале, а тебе на Си. То ему проще на дельфи натянуть то, что надо! А вдруг получится?! Вон Four-F молодца! Слушать никого не стал, взял и разобрался как дровин на асме, да не просто разобрался, да еще не плохой мануал написал!!! ----- My love is very cool girl. |
|
Создано: 18 сентября 2006 08:01 · Личное сообщение · #27 Paxan пишет: каждому инструменту своё место. а попытки пытаться натянуть инструмент на место или место на инструмент ни к чему хорошему никогда не приводили. Я с тобой не согласен,если Microsoft так любит Си ,то она естественно и будет выпускать инструмент под Си,но это никому не мешает издать что-нить подобное и для Delphi. DDDK - первая попытка,и как видно из аттача последнего,удачная,но там ещё много чего не хватает. |
|
Создано: 18 сентября 2006 08:21 · Личное сообщение · #28 theCollision пишет: Но если человеку удобно писать на Паскале, а тебе на Си. тут дело не в удобстве, а в том что каждому инструменту своё место. есть накидать простую апликуха, то я выберу дельфи, если что-нибудь низкоуровневое или не из разряда "накидать на форму пару контролов" то выберу си. как ты думаешь, почему сайты пишут на перл/пхп/асп, а не на асме или си? потому, что каждому инструменту своё место. никто в здравом уме не будет писать расчёты по ядерной физике на пхп и сайты делать на асме. если бы борланд хотел, чтобы на дельфи писали драйвера, то он бы предоставил такую возможность. на сим дискуссию заканчиваю, оставайтесь при своём мнении. |
|
Создано: 18 сентября 2006 15:06 · Личное сообщение · #29 |
|
Создано: 18 сентября 2006 15:09 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Программирование —› Delphi Ring0 Library by Ms-Rem |
Эта тема закрыта. Ответы больше не принимаются. |