Патч для клиентов ревизии 502+

MrKirill1232

Великий мудрец
Проверенный
Победитель в номинации 2024
Магистр реакций
Знаток письма высшего ранга
Куратор Данных
Победитель в номинации 2023
Мастер реакций
Неукротимое пламя
Медаль Благодарности
Победитель в номинации 2022
Старожил I степени
Сообщения
2 374
Розыгрыши
0
Решения
47
Репутация
1 362
Реакции
2 238
Баллы
2 058
Привет.
Занимался недавно попыткой создания патча для 502 версии (региональной).
Перевел все в формат 413encodec, но дальше дело не продвинулось.

Условно запуск через коммандную строку с указанием -ini - работает

Как и для 464/474 - взял dsetup.dll от Fyyre - но ничего не происходит. (длл от Akuma тоже пробовал - тот же результат).

(Ничего не происходит - нажимаю на l2.exe - процесс появляется в диспетчере задач и пропадает).
При попытке запустить через параметры запуска - получаю такой крит
C-подобный:
Error:
History: FFileManagerWindows::CreateFileReader <- appLoadFileToString <- FConfigFile::Read <- FConfigCacheIni::Find <- FConfigCacheIni::GetString <- UObject::LoadConfig <+ (PlayerController None) <- UClass::Serialize <+ (Class Engine.PlayerController) <- LoadObject <+ (Class Engine.PlayerController 168524==168524/1928034 161426 7098) <- ULinkerLoad::Preload <- PreLoadObjects <- UObject::EndLoad <- UObject::StaticLoadObject <+ (Core.Class Engine.roperty Engine.PlayerController.PlayAnnouncement.ASound NULL) <- UObject::StaticLoadClass <- InitEngine

Exception:
Code [EXCEPTION_WRITE_VIOLATION  DataAddress:0x0A4BF000]
Address [0x1504DF9C]
SegCs [0x0023]

Core.dll [0x15000000] Offset [0x0004DF9C]

Ну и вообщем суть топика такова - готов ли кто-то кто сможет разобраться/предоставить решение для поддержания выхода патчей :)
К сожалению - все на добровольных началах. Даже я сижу трачу часы времени чтобы просто (скачать патчи)/(выпросить их), потом оформить по красоте и сделать чтоб не было зависимостей от шрифтов.

* Зачем нужно патчить dsetup - чтобы можно было редактировать .dat/.ini файлы 413/414 кодировок;
* Что будет, если найдем dsetup - будем запускаться через .bat файлы и писать условным [данные удалены], чтоб они сделали патч;
 
Решение
:OnionHead:
Мм... ну тут вроде всё изи.
В l2.ini:
UseNG=false
NOGG=true

А ключ для декрипта перенесли из l2.bin в core.dll. Я запустил старый анпак-скрипт для ольки :loltt0: сциллой подправил импорты, пропатчил ключ. Проверьте, вроде должно работать. Я не могу запустить без фул клиента
* Зачем нужно патчить dsetup - чтобы можно было редактировать .dat/.ini файлы 413/414 кодировок;
Не патчить. Это скомпиленная dll для отключения гг. Либо искать сурсы либо реверсить.
Закинул dsetup акумы в свою любимую гидру. Бегло посмотрев на код, вижу получение хендлов core.dll, engine.dll и nwindow.dll. Далее для core.dll получение адресов констант ?GL2UseGameGuard@@3HA, ?GIsGuarded@@3HA и ?GL2UseNCGuard@@3HA. Значения этих констант меняется на 0. Для engine.dll не вижу действий.
Далее в l2.exe патчится ключ для декрипта файлов
До: 1742534365143.webp
После: 1742534392601.webp
В принципе это все что нужно для отключения гг на клиентах интерлюд и выше. В nwindow тоже что-то патчится, скорее всего поддержка юникода.

Возможно на новых клиентах изменились константы для отключения гг либо их вообще убрали. Либо проблема с патчем ключа. Текст ошибки как бы намекает на проблему с чтением файлов.
Залейте папку систем с пропатченными датниками. Могу посмотреть что там такое, в свободное время
 
Не патчить. Это скомпиленная dll для отключения гг. Либо искать сурсы либо реверсить.
Закинул dsetup акумы в свою любимую гидру. Бегло посмотрев на код, вижу получение хендлов core.dll, engine.dll и nwindow.dll. Далее для core.dll получение адресов констант ?GL2UseGameGuard@@3HA, ?GIsGuarded@@3HA и ?GL2UseNCGuard@@3HA. Значения этих констант меняется на 0. Для engine.dll не вижу действий.
Далее в l2.exe патчится ключ для декрипта файлов
До: Посмотреть вложение 85530
После: Посмотреть вложение 85531
В принципе это все что нужно для отключения гг на клиентах интерлюд и выше. В nwindow тоже что-то патчится, скорее всего поддержка юникода.

Возможно на новых клиентах изменились константы для отключения гг либо их вообще убрали. Либо проблема с патчем ключа. Текст ошибки как бы намекает на проблему с чтением файлов.
Залейте папку систем с пропатченными датниками. Могу посмотреть что там такое, в свободное время
:OnionHead:
 
:OnionHead:
Мм... ну тут вроде всё изи.
В l2.ini:
UseNG=false
NOGG=true

А ключ для декрипта перенесли из l2.bin в core.dll. Я запустил старый анпак-скрипт для ольки :loltt0: сциллой подправил импорты, пропатчил ключ. Проверьте, вроде должно работать. Я не могу запустить без фул клиента
 

Вложения

  • Core.zip
    Core.zip
    2,5 МБ · Просмотры: 4
Решение
Мм... ну тут вроде всё изи.
В l2.ini:
UseNG=false
NOGG=true

А ключ для декрипта перенесли из l2.bin в core.dll. Я запустил старый анпак-скрипт для ольки :loltt0: сциллой подправил импорты, пропатчил ключ. Проверьте, вроде должно работать. Я не могу запустить без фул клиента
действительно - клиент почти ожил :0

Но все равно где-то что-то не чисто, ибо крит вылетает
C-подобный:
Error: 
History: UGameEngine::ApplyVideoOption <- UGameEngine::Tick <- InitEngine

Exception:
Code [EXCEPTION_READ_VIOLATION  DataAddress:0x00000000]
Address [0x2086F888]
SegCs [0x0023]

Engine.dll [0x20000000] Offset [0x0086F888]
 
действительно - клиент почти ожил :0

Но все равно где-то что-то не чисто, ибо крит вылетает
C-подобный:
Error:
History: UGameEngine::ApplyVideoOption <- UGameEngine::Tick <- InitEngine

Exception:
Code [EXCEPTION_READ_VIOLATION  DataAddress:0x00000000]
Address [0x2086F888]
SegCs [0x0023]

Engine.dll [0x20000000] Offset [0x0086F888]
А точно все файлы одной ревизии? Например l2.exe судя по подписи прошлогодний, а dll свежие, мартовские
 
Последнее редактирование:
Клиент Корея (кажись Иероглефы не Корейские на Мини карте)), обнова от 26.03.25???
или??
 
А я уже подумал:
Ща как выкатишь патч для ласт обновы от 26.03.25 для Кореи, что бы позалипать что там да как))
 
А я уже подумал:
Ща как выкатишь патч для ласт обновы от 26.03.25 для Кореи, что бы позалипать что там да как))
Корейский клиент можно запустить без особых проблема - но только в качестве "позалипать".
 
Хочу поблагодарить Charmant и Spoken за помощь в создании патча с нашими родными RSA ключами.

*на скрине 507 протокол*
1742990032959.webp
 
Посмотреть вложение 85797
Главное чтобы после шары 507 протокола меня не упрекали в том, что клиент жрет дофига ресурсов.
Ну так в Корейский патчнодах, для Корейцев и на одном из "видео презентации", есть инфа что из клиента выпелены возможности отключения части анимаций, свечения, и всякой "дичи".
Потому что игра не такая красочная была (на минималках), их критиковали многие годы, вот они и запилил такой подарок.
Вот вся эта и графа, дичайше нагружает слабые машины в ужас полный (по 2гб+ может хавать).

А вот вам 4game --> Peach
1743100963676.webp
На минималках)
 

Похожие темы

Назад
Сверху