Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

База данных IDA от void17

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 16:49

Странно, что нет продолжения:

Код: Выделить всё
int diseaseAttackPenalty;
  int diseaseDefensePenalty;
  char hasNativeTerrainBonuses;
  int defensiveStanceBonus;
  int faerieDragonSpell;
  int magicMirrorEffect;
  int morale;
  int luck;
  char field_4F0;
  char field_4F1;
  std::vector dendroidBinder;
  std::vector dendroidBinds;
  std::vector unicornAuraFor;
  std::vector inUnicornAuraOf;
  int targetArmyAvgDamage;
  army *AI_target;
  int AI_target_value;
  int AI_target_time;
  int bfTargetArmies;

LetsPretendImNotHere - интересное поле :smile1: Видно ещё, что параметры для Disease перепутаны местами.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 16:54

Короч, понятно. Там с методами вперемешку. "Хвост" идёт после методов:

Код: Выделить всё
aura_clientsс�,��р aura_sourcesс����ьAI_expected_damageутс�—���   AI_target����AI_target_valueтс����AI_target_distanceутс���� AI_possible_targets
Последний раз редактировалось AlexSpl 16 дек 2021, 16:58, всего редактировалось 1 раз.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 16:56

AlexSpl писал(а):

Странно, что нет продолжения:

Код: Выделить всё
int diseaseAttackPenalty;
  int diseaseDefensePenalty;
  char hasNativeTerrainBonuses;
  int defensiveStanceBonus;
  int faerieDragonSpell;
  int magicMirrorEffect;
  int morale;
  int luck;
  char field_4F0;
  char field_4F1;
  std::vector dendroidBinder;
  std::vector dendroidBinds;
  std::vector unicornAuraFor;
  std::vector inUnicornAuraOf;
  int targetArmyAvgDamage;
  army *AI_target;
  int AI_target_value;
  int AI_target_time;
  int bfTargetArmies;

LetsPretendImNotHere - интересное поле :smile1: Видно ещё, что параметры для Disease перепутаны местами.


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


P.S.: В HD Edition базе класс army вообще другой и к сожалению информации о полях нет, придется в ручную изучать, если будем работать с этой базой.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 16:57

AlexSpl писал(а):

Короч, понятно. Там с методами вперемешку. "Хвост" идёт после методов.


Там вообще адский хаос творится какой-то. Просто кусок pdb файла поставили над .exe шником, хотя понятное дело, что это чисто debug purposes only.

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

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 17:00

Поля после morale и luck:

Код: Выделить всё
reset_this_round
is_area_effect_target

Походу, в SoD army на 100% такая, как в RoE :smile20:
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 17:05

AlexSpl писал(а):

Поля после morale и luck:

Код: Выделить всё
reset_this_round
is_area_effect_target

Походу, в SoD army на 100% такая, как в RoE :smile20:

неа, там еще два статических массива по 80 заклинаниям, в SoD по 81. На 8 байта больше. Хотя мне кажется там разница нетолько в 8 байтах.

Что точно не менялось в типах SoD и RoE, так это интферфейсные типы, вот тут смело можно ковыряться. А еще мелочь всякая типа type_record_claim_town и т.д.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 17:06

Короче, можно уже садиться переименовывать :smile11:
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 17:10

Напоминаю, что есть универсальный(почти) ключ из 4 байтов для поиска полей в экзешнике. Ctrl+F -> Найти все:
05 14 03 00
Но искать нужное долго. Хотя, впринципе, можно просто напросто по порядку идти и по-очереди все типы так исследовать. Тоже можно
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 17:13

Надо для этих полей сделать что-то вроде справочника кодов типов.
Я только эти знаю:
int = 0x74( 't' ),
bool = 0x20,
float = 0x64('@').

Нужно еще исследовать.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 17:16

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

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4