Сообщество Империал: Взлом движков M2:TW и RTW - REX/M2EX - Сообщество Империал




bitterhowl

Взлом движков M2:TW и RTW - REX/M2EX

Базовая тема
Тема создана: 12 апреля 2026, 08:24 · Автор: bitterhowl
Просмотров:
 86 173

x
 5 
 bitterhowl
  • Imp
Imperial
 

Дата: 12 апреля 2026, 08:24

Движок REX/M2EX


Imp


Фанатское сообщество совершило революцию, теперь легендарные игры Rome Total War и Medieval II Total War работают на обновленном движке 64-бита без ограничений ресурсов ПК. Производительность выросла в несколько раз, было исправлено множество багов и убраны все ограничения для моддинга.

Ссылка на github: Для просмотра ссылки Зарегистрируйтесь
Discord разработчиков: Для просмотра ссылки Зарегистрируйтесь

Для просмотра ссылки Зарегистрируйтесь
Для просмотра ссылки Зарегистрируйтесь



     DinarMayor
    • Imp
    Imperial
     

    Дата: 14 апреля 2026, 19:17

    Kelt881

    С DXVK не пробовал запускать?

    Неа

    Kelt881

    Показалось, на карте особенно,плавнее игра стала.

    Да, так и есть) Там ещё в настройках видео можно некоторые параметры теперь на экстрим выставить.
    -Добавлено-

    Kelt881

    Показалось, на карте особенно,плавнее игра стала.

    А в свитке семейного древа заметил кнопку установки наследника?)
       Kelt881
      • Imp
      Imperial
       

      Дата: 14 апреля 2026, 19:25

      DinarMayor 14 апреля 2026, 19:17

      Kelt881

      С DXVK не пробовал запускать?

      Неа

      Kelt881

      Показалось, на карте особенно,плавнее игра стала.

      Да, так и есть) Там ещё в настройках видео можно некоторые параметры теперь на экстрим выставить.
      -Добавлено-

      Kelt881

      Показалось, на карте особенно,плавнее игра стала.

      А в свитке семейного древа заметил кнопку установки наследника?)

      Наследника не заметил. Настройки атаку одним кликом и пр.добавил ещё. Атака одним кликом непривычно), стрелки получше стрелять начали.
         maksyutar
        • Imp
        Imperial
         

        Дата: 14 апреля 2026, 22:23

        DinarMayor

        Было только со стим, но я краем глаза видел, что он писал про запуск с kingdoms.exe.

        А почему на пиратке не работает, в целом? Там вроде как версии похожие у игр.
           Akkadian
          • Imp
          Imperial
           

          Дата: 14 апреля 2026, 22:37

          maksyutar 14 апреля 2026, 22:23

          DinarMayor

          Было только со стим, но я краем глаза видел, что он писал про запуск с kingdoms.exe.

          А почему на пиратке не работает, в целом? Там вроде как версии похожие у игр.

          Ну так писали что автор компиляции не желает поддерживать репаки и тп, только лицензию из стима. Технически хз что то сделано для этого. Я и сам недоволен такой политикой его) доставляет кучу неудобств и танцев с бубном.
             Kelt881
            • Imp
            Imperial
             

            Дата: 14 апреля 2026, 23:06

            maksyutar 14 апреля 2026, 22:23

            DinarMayor

            Было только со стим, но я краем глаза видел, что он писал про запуск с kingdoms.exe.

            А почему на пиратке не работает, в целом? Там вроде как версии похожие у игр.

            Что то про борьбу с пиратством, в дисе писали..так что думаю ждать не стоит на другие версии кроме стим. Проще купить, тем более часто скидки и за копейки продают..
               maksyutar
              • Imp
              Imperial
               

              Дата: 14 апреля 2026, 23:11

              Kelt881 понятно. У меня разумеется есть стим версия, но как бы разрабы не сделал там патч, который превращает все правки в кирпич, или другую пакость.
                 Kelt881
                • Imp
                Imperial
                 

                Дата: 14 апреля 2026, 23:18

                maksyutar 14 апреля 2026, 23:11

                Kelt881 понятно. У меня разумеется есть стим версия, но как бы разрабы не сделал там патч, который превращает все правки в кирпич, или другую пакость.

                Пиратку стимовскую установи рядом тогда или копию сохрани чтоб не качать по новой.
                   Pannoniae
                  • Imp
                  Imperial
                   

                  Дата: 15 апреля 2026, 04:40

                  Master_TW_DAR 14 апреля 2026, 17:37

                  Камрады, дополнение к моему предыдущему посту.

                  Возможно ли распространить функционал новой проги по снятию лимитов на движок 1.5.0 (не стим). Вопрос из разряда теоретической части.

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

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


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

                  1. Нужно получить информацию о том, какие участки машинного кода классического/стимовского экзешника Меди подвергаются использованию в вызовах JIT-функций, вызываемых библиотечным кодом M2TWEOP. JIT - just-in-time - это простыми словами техника встраивания фрагментов машинного кода в некоторый код программы тем или иным способом (необязательно тоже машинный, это может быть промежуточное представление, но в нашем случае EOP использует услуги JIT-инструментарий для того чтобы встраивать нужный мододелу машинный код в машинный код, находящийся в памяти запущенного процесса). В идеале надо знать виртуальные адреса той или иной команды машинного кода в памяти запущенного процесса. EOP, предположительно, меняет аргументы в операндах машинных команд, но сами команды и их расположение должны оставаться по идее прежними. Важно выяснить, какие участки кода экзешника эксплуатируются функционалом EOP.

                  2. Нужно подвергнуть взломанный экзешник тому же самому динамическому анализа с помощью отладчика, как и в случае с M2TWEOP. Вероятно, следует проверить, эквиваленты ли выявленные в предыдущем шаги участки машинного кода - по структуре последовательности команд (вдруг хакнутый экзешник где-то вставляет инструкции переходов или что-то еще) и виртуальным адресам. Я не знаю, как лучше к этому подойти. Подобный анализ обычно выполняют с помощью продвинутых инструментов динамического анализа исполняемого кода - скорее всего можно как-то получить с помощью этих инструментов дампы содержимого памяти или ассемблерные листинги. Эти артефакты наверняка окажется полезными при сравнении кода девственного и хакнутого экзешников.

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

                  Я не знаю всех технических деталей. Здесь нужно спрашивать конкретно по существу тех, кто имеет реальный опыт работы над пунктом № 1. Скорее всего, опять же я предполагаю, эксплуатируемый фичами EOP машинный код везде остается один и тот же, т.к. геймплей идентичен везде. Разница будет в виртуальных адресах машинных команд для разных экзешников. Нужно узнать эти технические детали и интегрировать полученное знание в исходный код библиотечных функций EOP любым удобным способом. Вроде это всё, что касается теории.

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


                  Hey! I like your way of thinking, it's very clear and logical. :) However, transferring EOP onto M2EX wouldn't be easy. The retail and M2EX exes barely have anything in common in terms of the machine code layout. M2EX is a 64-bit EXE built on AVX2, retail is 32-bit on SSE2. And a significant part of the code isn't the same either (I have modified it).
                     Master_TW_DAR
                    • Imp
                    Imperial
                     

                    Дата: 15 апреля 2026, 07:15

                    Pannoniae, tell me please, can you implement some subset for M2EX which could be compatible with EOP features for x86/x86_64 ISA ?

                    Probably, it is possible via conditional compilation macros in your sources (I don't know all details but suppose that you have a work repo to build this executables via your favorite tools).

                    If exclude non-compatible AVX2-oriented instructions, positive chances would grow radically to implement my previous technical solution in practice.
                    The cost of this decision would be some limitations in M2EX original features when potential using M2TWEOP under M2EX in future.

                    ---

                    Pannoniae, подскажите пожалуйста, можете ли Вы реализовать некоторое подмножество для M2EX, которое могло бы быть совместимым с функциональностью EOP для архитектур x86/x86_64 ?

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

                    Если исключить несовместимые AVX2-несовместимые инструкции, позитивные шансы реализовать моё предыдущее техническое решение на практике выросли бы существенно.
                    Ценой этого решения стали бы некоторые ограничения в оригинальных возможностях M2EX при потенциальном использовании M2TWEOP под M2EX в будущем.
                       bitterhowl
                      • Imp
                      Imperial
                       

                      Дата: 15 апреля 2026, 07:26

                      Оффтоп (контент вне темы)
                         
                        Перевести Страницу
                        Сообщество ИмпериалMedieval 2: Total War Моды Medieval 2 Total War: Kingdoms REX / M2EX Project Обратная Связь
                        Стиль:Language: 
                        Условия · Ответственность · Конфид. · Визитка · 02 июл 2026, 14:32 · Зеркала: ImtwOrg, ImtwSite, ImtwOnline