Allods Developers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Аллоды 1.0.02.0/1.1.02 + ЛР - запуск локального сервера в 2 клика

Получется bin файлы из bin.pak это чтото вроде архивов с xdb?
Сериализация, да. Время экономит.

У меня вот сейчас такая мысль в голове застряла, клиент, запускает только те bin что сам собрал, а если ему подкинуть от другой версии bin он на стадии запуска крашнется, скорее всего это какой то механизм защиты протектора, вот хочу теперь поискать в клиенте эту проверку, понять, реально ли ее пропатчить так, чтоб клиент запускал бинарники от других версий
crc проверка в xml для бинарных файлов, пишите парсер и вуаля. Можно например карты переносить с версий постарше.

 
Last edited:
У меня вот сейчас такая мысль в голове застряла, клиент, запускает только те bin что сам собрал, а если ему подкинуть от другой версии bin он на стадии запуска крашнется, скорее всего это какой то механизм защиты протектора, вот хочу теперь поискать в клиенте эту проверку, понять, реально ли ее пропатчить так, чтоб клиент запускал бинарники от других а
А какими инструментами клиент исследуется?
Сериализация, да. Время экономит.
Клиент 1.0 таким не занимается или делает это на ходу? Он ругается если попробовать его на распакованный 1.1 запуститью.
Гдето я видел эту аватарку. Ha Sky?
1772552430929.png
 
Last edited:
1) У меня в ИВо все кв работали без проблем.
2) БК нету в списке карт в раздаче почему-то, есть такое
3) 13 лабу не тестил пока, но допускаю, что проблема опять же в Debug-сборке
4) Это прикол клиента. Сервер берёт просто битовые данные и никак на них не влияет. Т.е. расположение способностей на панели форсированно пишутся в БД, когда клиент делает запрос на запись. Тут у меня пока нет хороших идей, что делать. Но у меня это происходит только когда с разных компьютеров захожу в игру - с одного и того же только юзабельные предметы пропадают с панели. Можно попробовать как-то на сервере отлавливать перезапись сразу после авторизации (видимо, в этом месте происходит затирание, ноэтонеточно), однако, не факт, что это поможет.

Фабрики грёз в 1.0 нет
Post automatically merged:


В общем, победил я запуск gametool
View attachment 3182
Но нормально функционировать его пока не заставил - что-то не то на уровне взаимодействия с шардом. Список аватаров показывает заглушкой, например:
View attachment 3183
Но от потенциальных возможностей голова кругом - надо разбираться дальше:
View attachment 3184
Post automatically merged:

В общем, победил я gametool
View attachment 3185
Надо будет, наверное, какую-то инструкцию накатать про это, но не сейчас 😅 Чуть позже займусь

привет, сорян что пропал, на работе дел много) круто что получилось) можно просто в контейнере настроить и в сборку добавить, чтоб инструкцию не писать как настраивать) можно как нить в лс списаться и подготовить сборку
Post automatically merged:

Сериализация, да. Время экономит.


crc проверка в xml для бинарных файлов, пишите парсер и вуаля. Можно например карты переносить с версий постарше.

не совсем мою мысль понял, я думал что можно крякнуть проверку файлов в самом exe, чтоб от любой версии можно было bin подсунуть, но там многослойная проверка старфорж, мне скила ее победить не хватает)
 
Last edited:
я думал что можно крякнуть проверку файлов в самом exe, чтоб от любой версии можно было bin подсунуть, но там многослойная проверка старфорж, мне скила ее победить не хватает)
Тебе всё равно нужны структуры под конкретную версию, крякнул ты или нет роли не играет и созависимости от текстур до моделей иначе краш
 
Тебе всё равно нужны структуры под конкретную версию, крякнул ты или нет роли не играет и созависимости от текстур до моделей иначе краш
опять ты меня не понял) у меня была другая цель, нежели подкладка текстур или файлов, прикол в том что версия 1.0.2.8 обфусцирована очень сильно, а версия 1.0.3.19 нет) я надеялся что удастся накаутировать проверку файлов, и экзешником 1.0.3 запустить файлы от 1.0.2, кряк для версии клиента собственно у меня уже получился) я даже с ним логинился на сервер, но при загрузке клиент крашился, из за того что на сервере не хватает файлов которые есть в клиенте. Хммм, теперь у меня появилась еще 1 идея, а что если распаковать и докинуть серверу недостающие файлы... возможно получится сляпать серверную версию 1.0.3. Конечно не думаю что это будет сильно легче
 
из за того что на сервере не хватает файлов которые есть в клиенте.
Сюрприз правда? Даже если пресобрать бианарку в System, там ещё не хватает пакетов, и применительно к 1.1 между 3863 (1.1.0.3) и 4003 (1.1.02.0) - пропасть. С 1.0 такая же ерунда. AccountServerInitializer и AuthenteficationListener даже если подобрать netVersion - завернёт. Если очень-очень хочется - успехов!
 
Last edited:
привет, сорян что пропал, на работе дел много) круто что получилось) можно просто в контейнере настроить и в сборку добавить, чтоб инструкцию не писать как настраивать) можно как нить в лс списаться и подготовить сборку
Как вариант, но у меня возникла с ним сложность - через несколько часов gametool начинает pid-шторм, из-за которого крашится весь хост из-за превышения количества допустимых pid'ов. Увеличил на хосте лимит pid, чтобы дать себе запас прочности для изучения проблемы. Теперь хост не крашится, а вот контейнер - падает. Пока не нашёл точную причину такого поведения =(
 
Сюрприз правда? Даже если пресобрать бианарку в System, там ещё не хватает пакетов, и применительно к 1.1 между 3863 (1.1.0.3) и 4003 (1.1.02.0) - пропасть. С 1.0 такая же ерунда. AccountServerInitializer и AuthenteficationListener даже если подобрать netVersion - завернёт. Если очень-очень хочется - успехов!
1772614521296.png


это клиент 1.0.03.19 подключенный к серверу 1.0.02.0 netVersion не завернул) там только та же проблема что и с 1.0.02.8 из за различия некоторых файлов, клиент ловит исключение и завершает процесс, если дописать недостающие классы для
You do not have permission to view link Log in or register now.
/
You do not have permission to view link Log in or register now.
и распаковать клиент полностью, то можно получить недостающие файлы для обратной сборки. Сам паулюс на регзоне выкладывал скриншот, там у него пересобранный клиент, на гитхабе у него не самая последняя версия распаковщика, жаль что он не описал принцип описывания классов, я попытался самостоятельно понять, но тоже не возымел успеха, не хватает опыта(
 
клиент ловит исключение и завершает процесс, если дописать недостающие классы для
You do not have permission to view link Log in or register now.
/
You do not have permission to view link Log in or register now.
и распаковать клиент полностью, то можно получить недостающие файлы для обратной сборки
Так а index.srv он влияет на эту загрузку? Помимо lightmap, SplatMap, TerraiPackInfo и тд эти файлы он тоже не распаковывает
 
Так а index.srv он влияет на эту загрузку? Помимо lightmap, SplatMap, TerraiPackInfo и тд эти файлы он тоже не распаковывает
Хм, что то я не догадался попробовать другой индекс файл в клиент подкинуть, нужно будет попробовать как время будет
 
у меня есть прогрес с
You do not have permission to view link Log in or register now.
где я имплементнул чуть больше классов и филдов чем в версии от paulus но проблема в том что у нас до сих пор нигде нету нормальной теоретической работы по тому как работает pack.bin где люди бы делились своими находками.

я сейчас работаю над 1.0, 2.0, 3.0, 4.0 Unpacker-ом, но мне в целом тяжело даже валидировать свои успехи так как нету 100 процентного понимания процесса. Я планираю со временем выложить свой прогрес/находки в опен соурс как минимум для критики а как максимум для советов.
 
у меня есть прогрес с
You do not have permission to view link Log in or register now.
где я имплементнул чуть больше классов и филдов чем в версии от paulus но проблема в том что у нас до сих пор нигде нету нормальной теоретической работы по тому как работает pack.bin где люди бы делились своими находками.

я сейчас работаю над 1.0, 2.0, 3.0, 4.0 Unpacker-ом, но мне в целом тяжело даже валидировать свои успехи так как нету 100 процентного понимания процесса. Я планираю со временем выложить свой прогрес/находки в опен соурс как минимум для критики а как максимум для советов.
если интересно, могу расписать весь метод распаковки pack.bin любого клиента, в свое время ковырялся с 4.0 и смог полностью его распаковать, включая карты (специально игнорируя реплики с сервера, проще потом их копировать, т.к на клиенте не все данные сохраняются), а потом и скормить клиенту для нативной сборки (фул сборка занимала 1.5 часа), самая нудная работа была в коррекции NDb структур и понимании принципов сериализации координат

в результате артефактов в клиенте не обнаружил, только в пакбин не записывался список .pak файлов, но никак на работу не повлияло

в 1.0-1.1 ситуация донельзя простая, там все NDb структуры лежат в чистом виде внутри отладочных файлов
 
если интересно, могу расписать весь метод распаковки pack.bin любого клиента, в свое время ковырялся с 4.0 и смог полностью его распаковать, включая карты (специально игнорируя реплики с сервера, проще потом их копировать, т.к на клиенте не все данные сохраняются), а потом и скормить клиенту для нативной сборки (фул сборка занимала 1.5 часа), самая нудная работа была в коррекции NDb структур и понимании принципов сериализации координат

в результате артефактов в клиенте не обнаружил, только в пакбин не записывался список .pak файлов, но никак на работу не повлияло

в 1.0-1.1 ситуация донельзя простая, там все NDb структуры лежат в чистом виде внутри отладочных файлов
конечно же интререстна)
 
если интересно, могу расписать весь метод распаковки pack.bin любого клиента, в свое время ковырялся с 4.0 и смог полностью его распаковать, включая карты (специально игнорируя реплики с сервера, проще потом их копировать, т.к на клиенте не все данные сохраняются), а потом и скормить клиенту для нативной сборки (фул сборка занимала 1.5 часа), самая нудная работа была в коррекции NDb структур и понимании принципов сериализации координат

в результате артефактов в клиенте не обнаружил, только в пакбин не записывался список .pak файлов, но никак на работу не повлияло

в 1.0-1.1 ситуация донельзя простая, там все NDb структуры лежат в чистом виде внутри отладочных файлов
мне очень тоже было бы интересно, развязало бы мне руки доделать до конца мой unpacker, я бы с удовольствием его вместе с сорс кодом бы и в общий доступ выложил что бы все в комьюнити могли пользоваться
 
А получалось запустить для версии 1.1 не gm-клиент, а пользовательский? Я так понимаю, пользовательский exe-файл не хочет запускаться без Лончера, а exe-файл gm-клиента (который в архиве с клиентом по дефолту) при старте сразу шлёт на сервер проверку уровня доступа и кикает, если под gm-клиентом заходит обычный пользователь с правом доступа User. Я это прикрыл отключением этой проверки на сервере, но это как-то неприятно
Там же вроде в Helper'е есть Unprotected Gamers_bin exe который без флай хака и не привязан к Лаунчеру. Там только с сертификатом проблема. Это разве не он?
You do not have permission to view link Log in or register now.

пароль: password
md5:
1000: 0e6f485ee459adf9d326c8b657481218
4003: b561403bbe436d3175031c4f1b76805b
7z: 9219039cb1f2495a6b221956337ce3b1
Code:
void save(int byte, int stat) {
        AOgame_Gamers_bin_save.seekp(byte, AOgame_Gamers_bin_save.beg);
        AOgame_Gamers_bin_save.write((char*)&stat,sizeof stat);
}

save(9926187, 55686);                            //  сертификат fix
save(9926196, 591228021);                    //  сертификат fix
save(11595500, 808464433);                  //  Gamers_bin версия 858796084 == 4003; 808464433 == 1000;
// save(11590876, 808464433);                  //  Paulus версия 858796084 == 4003; 808464433 == 1000;
 
Last edited:
Back
Top