3D grabber

Тема в разделе "WASM.DirectX", создана пользователем xcode, 10 авг 2009.

  1. xcode

    xcode Member

    Публикаций:
    0
    Регистрация:
    8 апр 2007
    Сообщения:
    105
    Задал вопрос на rsdn, там никто не знает...
    Что думаете? Есть ли такие готовые программы? Если есть, то где качать, если нет - то возможно ли такое сделать?
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    загруженные модели и текстуры в формате видеокарты и структурах игры можете выдрать сами. возьмите ProcessExplorer, остановите процесс. возьми те WinHEX, откройте RAM и поищите там.
     
  3. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    есть такое, ток не припомню название прогаммы. Если оочень нужно и не гуглится, могу поискать на старых хардах.
     
  4. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    тема трехлетней давности, начать можно отсюда.

    max7C4
    батенька знает толк в извращениях. кстати, "модели и текстуры в формате видеокарты" винхексом далеко не факт, что найдутся. есть смутное подозрение, что лежат они в малодоступных местах.
     
  5. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Voodoo
    Перед загрузкой в VOB они должны быть конвертированы в формат понятный видео адаптеру (bgr/rgb битмапы и д.р.), а в памяти они валяются загруженные (ищите в файл маппингах ибо на ЯВУ это любят или в дополнительной памяти) и конвертированные (ибо на диске они либо в DirectPack'ах либо в др архивах, иногда в жпг/рав, но бывают и прямо в tga/bmp). К тому же VOB это кусок видео памяти спроецированный на RAM. Найти и схватить сложно (ибо драйвер его оттуда уберет при заморозке процесса), но можно (если использовать кернел дебаггер и остановить всю систему, но это как вы справедливо выразились - извращения). Хотя без знания формата Вы с этим вряд ли справитесь.
     
  6. SmanxX1

    SmanxX1 Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    139
    Раз
    Два
    А третий сам найдешь, была еще какая-то програмка.
     
  7. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    max7C4
    Далеко не факт, что нужные распакованные объекты не будут уже выгружены. Тут как повезет. Перехваты надежнее.
     
  8. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    можно. причём, не проблема настолько, что
    "Я НАПИШУ ЭТУ ПРОГУ ЗА ДВА ЧАСА!"
    "А Я НАПИШУ ЭТУ ПРОГУ ЗА ОДИН ЧАС!"
    "А ПИШИТЕ!"
     
  9. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Voodoo
    ну если подождать пол часика, то да. их винда выгрузит (особенно discardable ибо на ЯВУ не хотят управлять памятью или VOB видюха проглотит), но если объект виден на экране в момент, когда игру усыпляют, то вытянуть его оттуда еще можно, а автоматизация действительно лучше. Но не лучше ручного анализа (не все вытягивает, что можно взять руками). Последнее же дано не каждому.
     
  10. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    неправильно оно всё,
    вот я вчера ваял рендерер моделей формата md2 (QuakeII) - так оно совсем вам не директыксовские .x, какие нибудь, да и рендерится оно вон как:
    к каждому фрейму модели высчитывается интерполяция по вектору текущего и следующего кадров - для гладкости анимации, причём всё это к каждому вертексу, который сразу после вычислений и рисуется через glBegin(GL_Triangles);glVertex3f(x,y,z);glVertex3f(x,y,z);glVertex3f(x,y,z);glEnd();, которые можно похукать, и дампить от glLoadIndentity() до glLoadIndentity() - как минимум кадр в нормальной такой обычной гаме вы сдампите без проблем, гы .D
     
  11. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    фэйсу, я имел в виду, конечно же .)
     
  12. _DEN_

    _DEN_ DEN

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

    Ну так оно и понятно - Кармак всегда на OpenGL фапал.
     
  13. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Сравнил палец с попой. Вообще все эти грабители неплохо справляются со статичной геометрией. Всякие скелетки и морфинги максимум первоначальную позицию или набор позиций в время апдейтов.
     
  14. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    ну да, но можно написать анализатор(для простых реализаций, естественно - движка lithtech, id, ..)
     
  15. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    По-моему риперы это баловство, проще открыть архив.

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

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Booster
    элементарно. 1) ссылки на кучу, 2) дополнительные диапазоны памяти 3) маппинги (ибо архивы часто не read/write'ом открывают). + анализ действий программы и составление примерной таблицы использования памяти. но это в самом сложном случае. в большинстве ресурсы грузят по нескольку раз и в памяти валяются как оригинальная копия (допустим jpg), так разжатая (rgb-bmp допустим, а за частую даже хэадр не удосуживаются отрезать) и преобразованная для вывода (bgra matrix buffer опять таки к примеру). с моделями тоже самое, но иногда найти можно только загруженную копию. отдельно хочется сказать про .net ибо после инициализации его vm и загрузки ресурсов они приятно отделяются друг от друга пустой страницей памяти (точнее она им зачем-то используется).
     
  17. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    да нууу .\\
    зачем бы оно там оригинальное делало?
     
  18. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    О чем вы тут говорите? :)

    max7C4

    Так делают только идиоты :) Правильные парни после заливки текстуры в GPU выбрасывают ее из оперативы. А по теме - провославные грабберы просто мониторят данные, отправляемые в GPU, и пишут их на винт. По тому же принципу и текстурки грабятся.

    Вот с анимацией да, уже сложнее :)
     
  19. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Comer_или кто вы там сейчас_DEN_
    в яву это и не известно. они лишь вызывают что-то типа bitmap.load или другой классовой хрени для загрузки чего-либо из чего-либо, а вот эта классовая хрень очень много оставляет хвостов.
    _DEN_ ну да, но garbage_collector отрабатывает не сразу и все это валяцца в оперативе (опять же из-за того что мутят внутри классы, не видел еще ни одной коммерческой игры, написанной на ЯВУ, которая использовала бы полный набор своих классов, а в стандартных столько дырок). И к тому же, если это грузилось не в виртуальную память, а в кучу, то что-то там еще найти можно т.к. при освобождении не многие указывают флаг обнуления, а стандартные классы оттуда и берут память.

    Я не настаиваю, что это встречается сплошь и рядом, и для каждого конкретного случая нужно искать его тараканов, но этих тараканов можно найти практически везде. Я лишь высказываю точку зрения, что найти можно и где следовало бы поискать. Самое удобное, когда один архив с ресурсами открыт и отмапплен на память, тогда весь блок ресурсов можно взять (и они там будут валяться без каких-либо преобразований и с заголовками)
     
  20. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    max7C4
    Как можно открыть и отмапить?