Пропатчил, патчер сообщил о работоспособнности всего, что было
ехе файл перестал запускаться и потерял свою оранжевую иконку
Попробуйте, если не затруднит. Восстановить файл из файла *.bak и применяя патчи по одному проверить какой из них вызвал такую реакцию.
Я не играю на руофе.
________________
Мои программы живут [Ссылки могут видеть только зарегистрированные пользователи. ]
Как я уже писал, у меня была такая же проблема при первом запуске программы - файл потерял иконку и перестал запускаться. Возможно, это из-за быстрого применения всех патчей сразу.
После этого я вернул оригинальный файл из бэкапа и стал патчить по одному. Всё встало гладко.
(РуОф, версия 1.5.1 реборн)
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
Как я уже писал, у меня была такая же проблема при первом запуске программы - файл потерял иконку и перестал запускаться. Возможно, это из-за быстрого применения всех патчей сразу.
После этого я вернул оригинальный файл из бэкапа и стал патчить по одному. Всё встало гладко.
(РуОф, версия 1.5.1 реборн)
Подобный вариант я вроде бы исключил, применить меню патча блокируется до тех пор пока не выполнится текущий патч. Хотя кто знает... возможно.
________________
Мои программы живут [Ссылки могут видеть только зарегистрированные пользователи. ]
А флай универсально не получится пропатчить, ибо там привязка к оффсетам (структура игрока) и зависит от версии клиента.
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
Не нужно мне рассказывать про паттерны. Я о том, что патч на разгон содержит в себе разницу между оффсетами в структуре игрока и если эти оффсеты меняются, то никакой поиск по паттерну не спасёт. Ибо уже меняется сам патч. Потому и происходит то, о чём пишут. Место патчер находит правильно, а пишет туда не совсем то, что надо и в результате чар не может лететь вообще...
Такая же фигня с патчем на бесконечный зум, о чём я писал в соседней теме. Там даже поиск по паттерну не поможет, ибо в клиенте много аналогичных кусков кода, которые отличаются только адресами (оффсетами).
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось iGesha; 25.08.2014 в 14:06.
Не нужно мне рассказывать про паттерны. Я о том, что патч на разгон содержит в себе разницу между оффсетами в структуре игрока и если эти оффсеты меняются, то никакой поиск по паттерну не спасёт. Ибо уже меняется сам патч. Потому и происходит то, о чём пишут. Место патчер находит правильно, а пишет туда не совсем то, что надо и в результате чар не может лететь вообще...
Такая же фигня с патчем на бесконечный зум, о чём я писал в соседней теме. Там даже поиск по паттерну не поможет, ибо в клиенте много аналогичных кусков кода, которые отличаются только адресами (оффсетами).
Теперь понял, в предидущем посте Вы не совсем ясно выразили свою мысль. К сожалению времени разбирать этот вопрос сейчас нет, но если кто то ткнет носом в этот грешный офсет - то подправлю патчер.
________________
Мои программы живут [Ссылки могут видеть только зарегистрированные пользователи. ]
Механизм патча на быстрый взлёт такой: в оригинальном клиенте берётся текущая скорость полёта, которая плавно нарастает при начале полёта. Она загружается инструкцией mov ecx,[ebx+28], где в ebx хранится некий "базовый" адрес, а 28 - это смещение относительно него, в котором эта скорость и хранится. Откуда она там берётся, я не вникал. Может клиент рассчитывает, а может с сервера приходит - не суть. Патчер же вместо этой ячейки берёт другую, в которой хранится максимально возможная с данным летательным средством скорость. Соответственно, смещение этой другой ячейки относительного того же "базового" ebx будет уже другим. В случае клиента РуОф 1.5.1 она находится адресом ниже , поэтому команда заменяется на mov ecx,[edi-000008E4], где -08E4 - как раз и есть разница между адресами этих ячеек.
Обе эти ячейки находятся в динамической структуре игрока HostPlayer по определённым оффсетам относительно её начала. И эти оффсеты могут меняться и меняются от версии к версии клиента, поэтому сделать такой патч универсальным не получится. Разве что собрать таблицу всех возможных адресов и подставлять в зависимости от версии файла. Например, в версии 1.5.0 там было так: mov ecx,[edi-00000834]...
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
Исправил недоработки. к сожалению не все функции работают везде. Но программа проверяет работоспособность и возможность отмены патча. Если тест провален возможность применения патча блокируется.
Добавил возможность выбора языка интерфейса. Если где-то есть ошибки пишите, исправлю.
________________
Мои программы живут [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось monahus; 14.10.2014 в 01:08.