Отладка Direct3D приложений

Тема в разделе "WASM.RESEARCH", создана пользователем defrag, 13 фев 2006.

  1. defrag

    defrag New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2004
    Сообщения:
    15
    Пытаюсь вытащить музыку из Forgotten Realms: Demon Stone.



    Покопался WinHEX'ом в музыкальных файлах... Выяснил, что звук там моно, 44100, 8 бит. Уложен в блоки по 72 байта.

    Из которых непосредственно звуком являются 64 байта

    остальные 8 какая то друга инфа. Понял что дальши WinHEX бесполезен.

    Решил покопаться OllyDbg. однако эта зараза (игра) сразу перехватывает экран в Direct3D и когда срабатывает бряк в Olly то игра останавливается..., а Olly не появляется. Игру не свернешь...



    Может у кого есть опыт отладки таких приложений?
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    defrag



    Я в таких случаях делал легкий хак :)

    Писал прогу, которая ставит хук на какую-нибудь комбинацию. По этому хуку выставлял скажем режим 1152x864. (ChangeDisplaySettings). Далее, запускал игру в меньшем разрешении, например 800x600, и в нужный момент нажимал магическую комбинацию :) Вот и весь фокус.
     
  3. requiem

    requiem New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2005
    Сообщения:
    71
    глянь на www.extractor.ru

    может найдешь нужный формат

    или может в Dragon анпакере твоя игра есть
     
  4. defrag

    defrag New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2004
    Сообщения:
    15
    _DEN_

    Не помогло. Экран просто гаснет, а игра через сеукунду все равно на весь экран становится.

    С какими флагами нужно вызывать ChangeDisplaySettings?



    requiem

    К сожалению, Дракон ее не поддерживает и на сайте тоже нет ссылки
     
  5. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    defrag

    В таких случаях хорошо помогает ремотная отладка. У меня, к примеру Айс на старых играх (256 цветов), не смог путем нарисовать свое окно.
     
  6. defrag

    defrag New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2004
    Сообщения:
    15
    alpet

    Простите за неграмотность, что за термин "ремонтная отладка"?
     
  7. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290


    Не ремонтная, а ремотная(remote - удалённая) :)
     
  8. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    defrag

    Ну ремотная, это от слова remote наверное. В смысле удаленная. Как правило производится на двух компьютеров, ремотным дебаггером через сетевое соединение.
     
  9. defrag

    defrag New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2004
    Сообщения:
    15
    MegaZu

    alpet

    Этого то я и боялся :dntknw:
     
  10. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    defrag

    Есть еще вариант - принудительно переводить дисплей в текстовый режим, при срабатывании бряка. Впрочем я помнится работал с Windbg - он прекрасно всплывал по брякам из-под игр.
     
  11. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    defrag



    Подхач OllyDbg и дай его окну стиль WS_EX_TOPMOST
     
  12. defrag

    defrag New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2004
    Сообщения:
    15
    alpet

    Пользуюсь OllyDbg. Попробую WinDbg.



    _DEN_

    тоже попробую.



    Еще есть вариант подправить сам экзешник игры. Перехватить вызов DirectDraw и изменить пареметр окна с Fullscreen на Windowed
     
  13. defrag

    defrag New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2004
    Сообщения:
    15




    В общем так и сделал. Теперь отлаживать одно удовольствие - Alt+Tab работает за милую душу.