M.U.G.E.N

Тема в разделе "WASM.BEGINNERS", создана пользователем klimbark, 7 сен 2020.

  1. klimbark

    klimbark New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2020
    Сообщения:
    2
    Доброго времени.

    В реверс-инжиниринге я не в ладах. Прошу знающих оценить степень сложности декомпиляции исходника данного игрового движка. Сколько необходимо времени и компетенций для решения данной задачи.
    В офф доке написано следующее.
    M.U.G.E.N was originally developed for DOS in C using DJGPP and Allegro, an excellent compiler and gaming library respectively. Today, M.U.G.E.N is built for Microsoft Windows using Visual Studio Express and SDL.

    Есть ли какой-то прямой путь для решения этой задачи для нубика или придется постигать тайны компьютер сайнс?
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    klimbark,

    Почти всегда декомпиляция не возможна, тк там слой протектора, это всё пустяк, но часто используется вирта. Вот что бы её снять нужны инструменты девирт они стоят дофига. А тут есчо что то про древний дос так что хз.
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Это канеш очень интересно, кто в здравом уме будет свой досовский игровой движок будет слоем протектора накрывать. Вот ты вероятно авер до мозга костей теперь, раз у тебя абсолютно любой софт накрыт протекторами и виртами.

    Сходи на тематический форум по реверсу в коммерц раздел. Вероятно в досовском движке не должно быть прям овердофига кода, но, честно говоря, если кто-то и возьмется за эту работу, то наверняка запросит много денег.
     
    klimbark нравится это.
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Rel,

    Почти любая игруха накрыта виртой. Вот теперь я знаю что ты в реверсе дуб и опыт у тебя в этом уровня нуби. Про дос я ничего не знаю)
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Ну-ну, то-то я смотрю все ААА игры тормозят, как не в себя, а это оказывается из-за того, что у них у всех поголовно движки виртой накрыты. Это многое объясняет.

    Ну я ж не авер, чтобы в реверсе разбираться. Ты у нас тут за главного по аверским технологиям и скиллам.
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Rel,

    Да, 90% игр накрыты вмп ну или его клоном(starforce вроде уже не помню). Потому что это комерс и разрабы платят за защиту от реверса. Какието примитивные гамы идут без защиты, но кому это интересно.

    > Ты у нас тут за главного по аверским технологиям и скиллам.

    Так и есть.
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Рад, что ты это признал. Уже не стесняешься работать на аверов и это правильно. Никто тебя в этом не упрекает.

    Да во времена доса канеш все игры были вмпротектом, чтобы их злые хеккеры не пропатчили и не продали на совке. Да и потом, вся графика и физика в играх всегда на вм решалась, чтобы больше тормозить.
     
  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Прямого пути нету. Если не готов хотя б самое оптимистичное - пару лет этому посвятить, не берись. Опять же нету упоминаний о мотивах зачем тебе декомпилировать этот капролит. Если бы были, возможно какой-нибудь другой вариант можно было бы предложить.
     
    klimbark и Indy_ нравится это.
  9. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    С досом проще конечно там не будет слоя протектора, примитивная архитектура и сама структура.. Не ясно зачем нужна декомпиляция, что там декомпилить серию прерываний и 16-бит чистый асм.. ТС не понимает что спрашивает.
     
  10. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Загугли что такое муген. Крайняя версия 2013 год, поддержка венды заявлена.
     
  11. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    А нужна ли полная декомпиляция? Обычно реверсится какой-либо интересующий алгоритм.
     
    youneuoy нравится это.
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Загуглил на вики какое то описание. И что дальше с этим делать ?

    Открывай идой дос тебе ведь нравятся контроллеры. Но какое это имеет отношение к современным задачам ты ведь видел как это решается. Сам выхлоп декомпилера менее понятен чем исходный асм. Если протектора нет, то декомпиль нужен лишь по причине не знания архитектуры, тк асм не понятен, тупо не читаем.
     
  13. youneuoy

    youneuoy New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2020
    Сообщения:
    10
    Привет!
    Посмотрел немного на твоего зверя, выглядит не очень страшно. Но нельзя просто так взять и декомпилить готовую игру, нужно реверсить:boast: Если не знаешь компьютер сайнс, то f13nd прав и тебе возможно потребуется пара лет. Если знаешь, то все равно времени потратишь изрядно.

    Кстати, а зачем это тебе вообще? От целей многое зависит. Думаю в данном случае нужно или делать всё с нуля и реверсить лишь некоторые части игры для совместимости с её ресурсами (если оно вообще тебе надо)или же просто пихать свой код туда, где его на твой взгляд мугену не хватает. Я бы на твоём месте пошёл по первому пути, в данном случае так быстрее будет.
    :popcorm2:
    это не совсем так, да и с декомпилером всё-таки удобнее. Хотя может такое только с примитивными гамами работает. О протекторах я сейчас не говорю.
     
    klimbark нравится это.
  14. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Вот страница загрузки движка https://mugenarchive.com/forums/downloads.php?do=file&id=5283--official-mugen-1-1-beta-1-elecbyte
    Ты как обычно туфту какую-то выдумываешь, потом сам со своей туфтой споришь, зачем-то публикуя это. mugen.exe - х86 приложение, МажорОсВершн=5.
     
    youneuoy нравится это.
  15. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    f13nd,

    Так ведь я не смотрел не знаю что это. Решишь ты, потом тс ну и я гляну затем. Всё по порядку. Прикольно дос глянуть конечно.
     
  16. klimbark

    klimbark New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2020
    Сообщения:
    2
    Благодарю за ответ. Приятно видеть отзывчивый форум.

    Мне понравился ответ с подтягиванием ресурсов. Так-то есть образование и работа кодера, но это совсем не моя сфера, однако я понял, что тратить время на дизассемблирование здесь и не нужно. Здесь следует переписать движок, что сэкономит кучу времени. Итак, зачем мне это.

    Действительно, многое зависит от мотивации и я намеренно не писал чего я хочу, так как уровень понимания на дне ,поэтому постараюсь доложить мысль ясно насколько это для меня возможно.

    Конечной целью является создание сборок подключаемых из библиотеки, для совместной игры по технологии remote to play через steam.
    Второй момент. Как я понимаю язык rust позволяет скомпилить определённо подготовленный код в wasm, что означает возможность запуска в браузере wasm модулей.

    Пытаюсь объяснить еще раз.
    Тут я пишу о двух возможных разных задачах, а именно подключение готовых игр-сборок в некоторую библиотеку(тут немного не по теме так как вопрос был изначальный про другое).
    Или запуск wasm-модуля в браузере, что как бы тоже может помочь решить задачу с удаленной игрой и подключением необходимой сборки с сервака.

    Так как mugen написан на алегро то с использованием следующего проекта обертки и наличием исходного кода(дизасемблированого или полностью повторенного) можно с некоторыми "фиксами" скомпилить это в wasm-модуль. Вот проект (https://github.com/SiegeLord/RustAllegro)

    Я очень надеюсь, что не вызвал рвотных позывов.
     
  17. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    klimbark,

    > Здесь следует переписать движок

    Зачем ?

    Мне например нравится, есть траблы но в целом интерфейс годный.

    > подключение готовых игр-сборок в некоторую библиотеку

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

    > запуск wasm-модуля в браузере, что как бы тоже может помочь решить задачу с удаленной игрой и подключением необходимой сборки

    Сборки ??

    Не переживай тут все долбятся, ну может кроме модеров. Так что таким бредом никого не удивишь.
     
  18. youneuoy

    youneuoy New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2020
    Сообщения:
    10
    насколько я понял есть большое число "игр" на этом движке, с разными персонажами, сюжетом и т.д. Речь наверное об этом.

    почему нет? Классный вариант. Вот так взять и переписать:superman2:
    На мой взгляд для данного случая это вариант не худший, чем добавление нормального мультиплеера. Хотя с другой стороны и это должно быть не слишком долго, в игре синхронизировать то и нечего почти.
    в половине сообщений из этой темы смысла не больше. Вроде klimbark всё более-менее понятно объясняет, но вот зачем он это сейчас пишет - вопрос.
    а зачем это? Вроде уже разобрались с тем, что полностью всё в исходном виде восстанавливать долго и бессмысленно.

    :good:делай.