как исправить запуск стандартных клиентов нц софт?

AlhimN1

Интересующийся
VIP
Сообщения
859
Розыгрыши
0
Решения
2
Репутация
612
Реакции
717
Баллы
352
есть ли методы для исправления запуска игры?

например в каком то месте поменять значения хекс редактором, сработало для с3 но при этом запуск игры очень долгий и работает гг
 
у тебя какой-то сильно размытый вопрос.
Что конкретно то исправить?
Прибить GG или что?
Если да, то вроде для всех старых хроник есть патчеры убивающие оное.
 
Последнее редактирование:
В rguard / ftguard там есть кусок кода который выключает gg.
 
хочу узнать процесс создания этих патчеров, какие конкретно строки они меняют и почему

от чего зависит запуск клиента, какие блокировки присувствуют, почему с одним патчем запускается быстрее чем с другим, можно ли сделать запуск как у оригинала или лучше выбросив мусорную часть кода
 
Если посмотреть там в коде hook где просто отключает gg.
Это можно сделать и через hex, но желательно без themida если dll накрыта.
Смотря как сделали патч, может там что то вроде и без sleep:
Код:
while(true)
{
}

Возможно не только этот патч нужен уже, лучше посмотреть как fyyre делает.
 
Вот как можно отключить в hex.

Нужны:
PE Editor (LordPE) и HxD например.

Открываем в PE Editor файл core.dll
Код:
system\core.dll

Далее Directories -> Export Tables -> [...]

Листаем до метода:
Код:
?GL2UseGameGuard@@3HA

Смотрим на номер Offset к примеру 000E7004, нужна только E7004.
Открываем core.dll в HxD и находим offset E7004.
Далее меняем 01 на 00 и сохраняем изменения.
 
ага, над поковыряться)

я вот для С3 пользовался этим примером:
Решение включает в себя 2 варианта исправлений.
1. Универсальный без привязки к адресу и смешению - просто отключает вызов CoInitializeEx .
2. Изменяет значения флага с 0 на 2 , использует смешение C0 и C1 .

При желании есть третий вариант - руками открыть Core.dll в HEX Редакторе, и найти паттерн (в исходниках он добавлен ) ""6A 00 6A 00 FF 15" и поменять его на "6A 00 6A 02 FF 15" и сохранить. (все будет работать ).
В архив добавлен скомпилированный модуль, его можно добавить в таблицу импорта ogg.dll по средствам CFF explorer и получить решение этой проблемы.

но запуск почему то очень долгий, быстрее грузится пропатченый интерлюд
ну прелюд С0 конечно же ещё быстрее
 
Последнее редактирование:
Просто hook в dll проходит с задержкой, зависит как это делают.
Возможно там некий sleep(100).

В патче dll все грузит сразу, нет hooks для изменений параметров функции.
Примерно как если бы собрали из исходников нативно.
 
С недобитым GG насколько помню запуск медленный из-за того что клиент при запуске лезет на сайты нцсофт, чтобы попытаться проверить и скачать новую версию GG. Ну а учитывая что скорее всего по нужным адресам уже давно ничего нет - тупо на какое-то время подвисает, пока не кончится таймаут соединения.
 
Хорошо бы универсальный патчер на все хроники, главное с исходниками.
Но мечтать не вредно конечно, это нужно снять themida там где есть и написать под каждые хроники свой патч.
 
вообщем то что налеплено нц софт не так уж и просто исправить я так понимаю?
 
Та не особо и сложно, просто требует времени.
Просто половина патчей под themida, часть нет.
Снять gg можно из core.dll и заодно nop все проверки с gg.
Делать контент можно новый, интересно выходит.
Действительно, чего это они башню крумы не сделали как в ролике.
Все за них делать как обычно.
 
nop может тормозить процесс в том числе. Если есть возможность, лучше jmp \ jmp short делать
 
вот вот)