Сообщество Империал: Отладочная информация RomeTW.exe - Сообщество Империал

Minotawr

Отладочная информация RomeTW.exe

Сама информация + некоторые описания для чго она нужна
Тема создана: 29 декабря 2010, 17:28 · Автор: Minotawr
  • 9 Страниц
  • Первая
  • 5
  • 6
  • 7
  • 8
  • 9
 Minotawr
  • Imperial
Imperial
Форумчанин

Дата: 29 декабря 2010, 17:28

Итак, путем некоторых манипуляций с exe-шником RTW был получен дамп отладочной информации.
Для чего этот дамп нужен, и что с его помощью можно сделать?
1) Дамп содержит сведения об ошибках привязанные к отдельным файлам исходников из которых собиралась игра.
2) Для чего нужна эта информация? Тут все очень просто и интересно, например можно получить данные о многих функциях и методах из исходников, так как все обработки ошибок привязаны именно к ним родимым - к функциям и методам...

Возьмем к примеру отладочную информацию для секции TRM(%.1f):
Спойлер (раскрыть)


Тоже самое, есть например отладочная информация по файлу settlement_construction.cpp
Спойлер (раскрыть)


Конечно много мусора, и мало описаний, но по крайней мере здесь полно информации для экспериментов со скриптами и т.д.

В общем, смотрим, ищем полезное, а для мня пока можете отписаться, нужно ли вытаскивать ту-же самую информацию по БИ и АТВ...

Собственно сам файл Для просмотра ссылки Зарегистрируйтесь
     Minotawr
    • Imperial
    Imperial
    Форумчанин

    Дата: 12 января 2011, 11:06

    Olwork 12 Янв 2011 (09:48):

    С провинциями непонятно, но графически они почти не отражаются, но вот упоминаются во многих текстовиках.
    Точно так-же как и фракции, и юниты, они тоже грузятся не за один проход последовательно, а несколькими функциями...
    Например юнит: Грузится вначале название, затем привязка к фракции (первая проверка на количество юнитов), далее загружаются иконки (вторая проверка на количество, только уже на количество иконок, хотя там и не проверка, а просто коллекция с фиксированным размером), далее грузятся характеристики, описания, самое интересное, что здесь нет ограничений на размер коллекции, ну а последними - модели (уже при загрузке компании или битв) и шкурки к ним...
       RomanTim
      • Imperial
      Imperial
      Гражданин

      Дата: 26 сентября 2011, 16:57

      камрады! может не в тему, но про стандартный РТВ движок я больше тем не нашел) -- можно ли екзешником ртв 1.5 запустить файлы ртв 1.3 ? то есть просто поменять один экз на другой?))))
         Аллекс
        • Imperial
        Imperial
        Форумчанин

        Дата: 29 сентября 2011, 14:22

        romantim (26 сентября 2011, 16:57):

        камрады! может не в тему, но про стандартный РТВ движок я больше тем не нашел) -- можно ли екзешником ртв 1.5 запустить файлы ртв 1.3 ? то есть просто поменять один экз на другой?))))



        Да, немножко ты не о том, что в теме.Но у меня большинство модов, кроме греческого запущено именно таким образом. Имея пиратку ртв 1.3 и би 1.4 я не мог пропачить.Взял внаглую заменил экзешники.Один мод прошел,второй и т. д.Может из-за этого у меня не столь стабильны некоторые моды, как у других. Но играю в большинство. Главное сперва меняй ехешники,а потом начинай установку мода.
           barbar
          • Imperial
          Imperial
          Форумчанин

          Дата: 15 декабря 2014, 17:47

          Да, интересная информация, прочил дамп, кажется, разрабы не реализовали много интересных фич.
             Holmad
            • Imperial
            Imperial
            Форумчанин

            Дата: 15 января 2020, 03:41

            Minotawr (02 января 2011, 23:09):

            Блин, зараза этот Тотал Вар, я в экзешник полез за информацией для своего импортера/экспортера юнитов, хотел посмотреть как реализована упаковка, чтобы напрямую считывать из запакованных ресурсов нужную графику, в итоге - подсел, остановиться не могу, уже часть процедур и функций в С++ код перегнал Imp В асемблере они совсем плохо читаются...
            Ну вот например:
            С++
            Спойлер (раскрыть)

            Блин, хотел дать для сравнения асемблерный код, а он по ограничению на количество символов не проходит...



            Здравия Всем!

            Долго, я искал темы подобные этому. Спасибо нашему общему другу, под ником Minotawr, который хоть сделал попытку расшифровки RTW движка, сделал шаги и осветил путь другим, которые пытаются делать тоже самое. Я конечно тоже занимаюсь реверс-инжинирингом, и были в моем не таком уж богатом опыте кое какие успехи в делах некоторых зашифрованных игр, но тоже пытаюсь найти, что то что осветит путь наш - мододелов, скриптеров, кодеров и вообще программистов, как бы не называть.

            Короче говоря, через дисасм IDA я открыл файл .exe RTW, BI, и Alex. Все таки еще попытаемся все вместе проанализировать, то что там есть, любая информация полезна. Выкладываю информацию найденную для анализа:


            .text:00A862CC ; =============== S U B R O U T I N E =======================================
            .text:00A862CC
            .text:00A862CC
            .text:00A862CC sub_A862CC proc near ; CODE XREF: sub_406D90:loc_40717Ep
            .text:00A862CC push edi
            .text:00A862CD push esi
            .text:00A862CE push ebp
            .text:00A862CF push ebx
            .text:00A862D0 sub esp, 24h
            .text:00A862D3 push offset aDescr_model_ba ; "descr_model_battle.txt"
            .text:00A862D8 call sub_409098
            .text:00A862DD pop ecx
            .text:00A862DE push eax
            .text:00A862DF lea ecx, [esp+24h]
            .text:00A862E3 call sub_EB27C0
            .text:00A862E8 push 0
            .text:00A862EA push eax
            .text:00A862EB lea ecx, [esp+10h]
            .text:00A862EF call sub_DA9E84
            .text:00A862F4 lea ecx, [esp+20h]
            .text:00A862F8 call sub_EB4350
            .text:00A862FD cmp dword ptr [esp+8], 0
            .text:00A86302 mov eax, 0
            .text:00A86307 setnz al
            .text:00A8630A cmp eax, 1
            .text:00A8630D jz short loc_A86361
            .text:00A8630F movzx eax, byte_1025534
            .text:00A86316 test eax, eax
            .text:00A86318 jnz short loc_A8634E
            .text:00A8631A push offset aModel_dbFailed ; "MODEL_DB failed to open battle database"...
            .text:00A8631F push offset aGenericErrorS ; "Generic Error:\n\n%s"
            .text:00A86324 push offset aAnUnidentified ; "An unidentified error has occurred, pro"...
            .text:00A86329 call sub_F79441
            .text:00A8632E mov byte_1025534, 1
            .text:00A86335 push 0
            .text:00A86337 call sub_EBB170
            .text:00A8633C push offset aAnUnidentified ; "An unidentified error has occurred, pro"...
            .text:00A86341 push offset aS_0 ; "%s"
            .text:00A86346 call sub_EBB2E0
            .text:00A8634B add esp, 18h
            .text:00A8634E
            .text:00A8634E loc_A8634E: ; CODE XREF: sub_A862CC+4Cj
            .text:00A8634E lea ecx, [esp+8]
            .text:00A86352 call sub_DA84F4
            .text:00A86357 xor eax, eax
            .text:00A86359 add esp, 24h
            .text:00A8635C pop ebx
            .text:00A8635D pop ebp
            .text:00A8635E pop esi
            .text:00A8635F pop edi
            .text:00A86360 retn
            .text:00A86361 ; ---------------------------------------------------------------------------
            .text:00A86361


            2 шаг

            ; sub_D68484+146o
            .data1:02926F1D align 10h
            .data1:02926F20 aDescr_model_ba db 'descr_model_battle.txt',0
            .data1:02926F20 ; DATA XREF: sub_85AF14:loc_85B2D1o
            .data1:02926F20 ; sub_85DC48+98o ...
            .data1:02926F37 align 4

            3-шаг


            push offset aDescr_model_ba ; "descr_model_battle.txt"
            call sub_409098
            pop ecx
            push offset aSprite_script_ ; "sprite_script.txt"
            mov ecx, edi
            push eax
            call sub_85DD14
            xor eax, eax
            pop ebx
            pop esi
            pop edi
            retn

            еще

            xϧ
            .data1:02926EF4 aFailedToOpenDi db 'Failed to open display for unit shadows.',0
            .data1:02926EF4 ; DATA XREF: .text:00D685CAo
            .data1:02926F1D db 0
            .data1:02926F1E db 0
            .data1:02926F1F db 0
            .data1:02926F20 aDescr_model_ba db 'descr_model_battle.txt',0 ; DATA XREF: sub_A862CC+7o
            .data1:02926F20 ; sub_A88F18+11o ...
            .data1:02926F37 db 0
            .data1:02926F38 db 45h ; E
            .data1:02926F39 db 6Eh ; n
            .data1:02926F3A db 67h ; g
            .data1:02926F3B db 69h ; i
            .data1:02926F3C db 6Eh ; n
            .data1:02926F3D db 65h ; e
            .data1:02926F3E db 20h
            .data1:02926F3F db 44h ; D
            .data1:02926F40 db 42h ; B
            .data1:02926F41 db 20h
            .data1:02926F42 db 66h ; f
            .data1:02926F43 db 61h ; a
            .data1:02926F44 db 69h ; i
            .data1:02926F45 db 6Ch ; l
            .data1:02926F46 db 65h ; e
            .data1:02926F47 db 64h ; d
            .data1:02926F48 db 20h
            .data1:02926F49 db 74h ; t
            .data1:02926F4A db 6Fh ; o
            .data1:02926F4B db 20h
            .data1:02926F4C db 6Ch ; l
            .data1:02926F4D db 69h ; i
            .data1:02926F4E db 6Eh ; n
            .data1:02926F4F db 6Bh ; k
            .data1:02926F50 db 20h
            .data1:02926F51 db 6Dh ; m
            .data1:02926F52 db 6Fh ; o
            .data1:02926F53 db 64h ; d
            .data1:02926F54 db 65h ; e
            .data1:02926F55 db 6Ch ; l
            .data1:02926F56 db 73h ; s
            .data1:02926F57 db 2Eh ; .
            .data1:02926F58 db 0
            .data1:02926F59 db 0
            .data1:02926F5A db 0
            .data1:02926F5B db 0
            .data1:02926F5C db 46h ; F
            .data1:02926F5D db 61h ; a
            .data1:02926F5E db 69h ; i
            .data1:02926F5F db 6Ch ; l
            .data1:02926F60 db 65h ; e
            .data1:02926F61 db 64h ; d
            .data1:02926F62 db 20h
            .data1:02926F63 db 74h ; t
            .data1:02926F64 db 6Fh ; o
            .data1:02926F65 db 20h
            .data1:02926F66 db 6Fh ; o
            .data1:02926F67 db 70h ; p
            .data1:02926F68 db 65h ; e
            .data1:02926F69 db 6Eh ; n
            .data1:02926F6A db 20h
            .data1:02926F6B db 74h ; t
            .data1:02926F6C db 68h ; h
            .data1:02926F6D db 65h ; e
            .data1:02926F6E db 20h
            .data1:02926F6F db 6Ch ; l
            .data1:02926F70 db 69h ; i
            .data1:02926F71 db 76h ; v
            .data1:02926F72 db 69h ; i
            .data1:02926F73 db 6Eh ; n
            .data1:02926F74 db 67h ; g
            .data1:02926F75 db 20h
            .data1:02926F76 db 62h ; b
            .data1:02926F77 db 72h ; r
            .data1:02926F78 db 65h ; e
            .data1:02926F79 db 61h ; a
            .data1:02926F7A db 74h ; t
            .data1:02926F7B db 68h ; h
            .data1:02926F7C db 69h ; i
            .data1:02926F7D db 6Eh ; n
            .data1:02926F7E db 67h ; g
            .data1:02926F7F db 20h
            .data1:02926F80 db 6Dh ; m
            .data1:02926F81 db 61h ; a
            .data1:02926F82 db 6Eh ; n
            .data1:02926F83 db 61h ; a
            .data1:02926F84 db 67h ; g
            .data1:02926F85 db 65h ; e
            .data1:02926F86 db 72h ; r
            .data1:02926F87 db 0
            .data1:02926F88 aFailedToOpen_0 db 'Failed to open display for water interaction effects.',0
            .data1:02926F88 ; DATA XREF: .text:00D68630o
            .data1:02926FBE db 0




            Кто что скажет?
               youneuoy
              • Imperial
              Imperial
              Форумчанин

              Дата: 15 января 2020, 03:47

              AAELS

              Кто что скажет?

              а что здесь сказать можно то? Опиши хоть что делает данная функция и зачем ты её здесь привёл.
                 Holmad
                • Imperial
                Imperial
                Форумчанин

                Дата: 15 января 2020, 04:31

                youneuoy (15 января 2020, 03:47):

                AAELS

                Кто что скажет?

                а что здесь сказать можно то? Опиши хоть что делает данная функция и зачем ты её здесь привёл.


                Из сообщений нашего общего друга Minotawrа, нам нужен Microsoft Visual Studio 2008, DX9 SDK и C++. Это сужает наш поиск путей.

                Надо создать команду, кто интересуется в продвижении расшифровки и перевода на более понятный язык. Пока надо анализ и попытки понять на каком языке написан кроме С++. Пока я как 2 дня пытаюсь сам понять и пока ручным способом стараюсь с тупой зубилой копать туннель в неглубокой шахте, которую до меня докопали некоторые энтузиасты.

                Будут новости, сообщу, надеюсь вместе будем двигаться.
                   youneuoy
                  • Imperial
                  Imperial
                  Форумчанин

                  Дата: 15 января 2020, 04:39

                  AAELS

                  нам нужен Microsoft Visual Studio 2008, DX9 SDK и C++

                  зачем?

                  AAELS

                  на каком языке написан кроме С++

                  вроде ни на каком больше :038: Ну может ещё си и ассемблер. Да и какая разница?

                  AAELS

                  в продвижении расшифровки и перевода на более понятный язык

                  и есть какие-то успехи?
                  Нужно ведь разбираться что, как, и с чем работает, а после уже менять как захочется. При этом думаю не стоит распылять силы на вообще весь код. Выбери какую-то одну цель и иди к ней :victory-style: Заодно выкладывай свои успехи в реверсе, это может быть полезно.
                     Holmad
                    • Imperial
                    Imperial
                    Форумчанин

                    Дата: 15 января 2020, 05:02

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

                    Жду других ребят для работы в команде.
                       youneuoy
                      • Imperial
                      Imperial
                      Форумчанин

                      Дата: 15 января 2020, 05:13

                      AAELS

                      работа с компиляторами второй шаг.

                      а компиляторы тебе зачем? Иды пока что вполне достаточно для того, что ты делаешь.

                      AAELS

                      все это скопировать в текстовый файл

                      зачем? Запусти отладчик и смотри как оно работает :038: Что это за функция, что делает?

                      AAELS

                      Просто наконец то я смог начать, если даже не смогу, то хотя бы оставлю свои наработки

                      насколько я сейчас вижу никаких наработок ещё нет :017:

                      AAELS

                      строки номеров из экзешника

                      зачем это? Может быть полезной информация о том какая ф-ция что делает, какие нужны аргументы для её вызова и где их взять. Или подробное описание структур данных. Ну или готовый модик на повышение лимитов отрядов или городов на карте, например.
                        • 9 Страниц
                        • Первая
                        • 5
                        • 6
                        • 7
                        • 8
                        • 9
                         Похожие Темы
                        ОАрты, литература и другая информация по Огнём и Мечом 2
                        Арты, литература и другая информация по Огнём и Мечом 2
                        Автор l lisyanetz
                        Обновление 09 марта 2024, 14:49
                        TВидео гайды и полезная информация по Total War: Rome II
                        В эту тему, кидаем полезную и нужную информацию по игре Total War: Rome II
                        Автор n nia
                        Обновление 20 февраля 2024, 12:41
                        МВажная информация по моддингу Total War: Attila
                        Туторы, советы, нюансы - без обсуждения
                        Автор v vadim
                        Обновление 30 августа 2023, 17:36
                        Воспользуйтесь одной из соц-сетей для входа
                        РегистрацияВход на форум 
                        Сообщество ИмпериалRome: Total War Моды Rome: Total War Мастерская RTW Обратная Связь
                        Стиль:Language: 
                        «Империал» · Условия · Ответственность · Визитка · 19 апр 2024, 14:38 · Зеркала: Org, Site, Online · Счётчики