BSOD при CloseHandle

Тема в разделе "WASM.NT.KERNEL", создана пользователем Llirik, 2 фев 2011.

  1. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    смешно
    как это относится к написанию кода?
    и средой тоже.
    А по моему делфи мертв.
    Плавали знаем, вы просто не умеете писать на си.
    в этом и проблема.

    ДА ладно че вы спорите, пишите на чем хотите хоть в байт кодах. Это не мое дело. Ну конечно не надо только бреда что асм код нагляднее.

    PS VCL полный гуан, ну если вы не знали, мне есть с чем сравнивать с тем же Qt
     
  2. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Глупый вопрос) Неужели если Вы нашли правильный кусок кода, то не догадаетесь вставить его вместо не правильного куска кода?
    а зачем принаписании драйвера нужна среда разработки?))
    я как-то попробовал создать форму окна в Visual Studio) немножко помучавшись плюнул и решил изучать делфи. там окно создаётся за несколько кликов)
    а разве я не прав? на асме что по сеешь, то и пожнёшь
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.553
    Адрес:
    Russia
    Llirik
    Предлагаю там остаться, и продолжать заниматься формошлепством.
    Не в обиду.
    Но что вам мешает, даже не зная Си, взять проект из ддк и собрать его , и посмотреть асм листинг например?
     
  4. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Так и сделал, но листинг и исходник ооочень сильно разнятся, и не понимаю что нужно а что нет( Кстати, Вы недавно мне перевели 2 функции этого проекта на асмhttp://www.wasm.ru/forum/viewtopic.php?id=40059. первая работает, а вторая как раз так и разнится с исходником и с тем что у меня в *.asm( Еще я дизассеблировал один рабочий драйвер и вставил функцию из него, но не прокатило(
     
  5. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Если так уж ненавистен С, то можно скомпилировать драйвер с отладочной информацией и после посмотреть в IDA. С одной стороны ассемблер, с другой -- имена и метки сохранятся.
     
  6. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Mika0x65
    тогды уж компилятор попросит генерировать код.
     
  7. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Чувак! Не парься, предлагаю дуракоустойчивое решение:
    Действуй методом исключения, комментируй подозрительные функции,
    делай их пустыми или полностью комментрируй, собирай проект и смотри упадет ли. Так упрощай пока перестанет падать, затем добавляй код по-немногу, но код соответственно должен быть логически завершен, как то: Если выделил память, удостоверься, что она освобождается, создал устройство драйвера, будь добр удалить устройство и т.п.
    Создавай скелеты, без функционала, конечно некоторые функции нельзя полностью оставить без начинки, иначе голубой экран смерти.
    Короче прояви солдатскую смекалку.

    Кстати посмотри опцию для компилятора /Fa - она создает асм листинг при компиляции. Или такую: /FAs

    http://msdn.microsoft.com/en-us/library/367y26c6.aspx

    А вообще без знания С, это в деле дроволомания переть против течения.
    Если конечно ты не F-four или Стив Гибсон, который все пишет на асме.
    На мой взгляд, писать дрова на асме - это забивать микроскопом гвозди.
    Асм нужен для тонкого хирургического вмешательства.
     
  8. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    neutronion, Вы описали способ, которым я вот уже 10 лет всё и делаю в компе, а не только в программировании) но сейчас и он пока не помогает
     
  9. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Ок. Да не убоимся мы зла на пути нашем праведном. Аминь!
    Да прибудет с вами сила!!!
    :)
     
  10. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Опытным путём я выяснил, что вылет при загрузке WinXP происходит на строке:
    invoke IoAttachDeviceToDeviceStack, KeyeviceObject, pDeviceObject
    но я никак не могу понять, что тут не так(

    P.S. Прилагаю свой драйвер
     
  11. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    А SoftIce, кроме Win98, хоть где-нибудь работает? Я уж его сегодня установил на Windows Server 2003 и опять не работает!
     
  12. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Спасибо за "помощь"! Ну "ооочень трудно" вам было сказать, что парень просто добавь "push ebx" и "pop ebx"!!
     
  13. sergegers

    sergegers New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2008
    Сообщения:
    172
    вам вроде предложили перейти на c
     
  14. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    А я отказался!) Так как не вижу в нём ничего хорошего
     
  15. sergegers

    sergegers New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2008
    Сообщения:
    172
    ну будете всё время искать пропущенные push ebx, pop ebx
     
  16. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Крестоносец! Парень! Как в той притче про мастера конфу, его спросили какой стиль сильнее, на что он ответил тот стиль в котором человек отдает душу. Так и тут, если ты согласен потратить все свое время, пожертвовать семьей наплюешь на деньги и скажешь себе, что только на ассемблере ты бущешь програмить, тогда я поставлю на тебя все свои деньги, потому что такие люди могут добиться результата даже в ассемблере. Если же ты делаешь это по другим причинам, знай, ты проиграешь!
     
  17. kololizzer85

    kololizzer85 Дима

    Публикаций:
    0
    Регистрация:
    31 мар 2011
    Сообщения:
    1
    Адрес:
    Москва
    Тяжело видимо делаеться(( что так долго
     
  18. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Фильтр на асме уже работает) теперь только разбираемся, как считывать данные с клавы http://www.wasm.ru/forum/viewtopic.php?pid=426261#p426261
     
  19. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Отвечаю на свой вопрос) чтобы не было BSOD при CloseHandle, надо IRP, приходящий к устройству не подключённому к стэку устройств, завершать, а остальные IRP отправлять дальше по стэку