Перейти к содержанию

Помогите Generals Zero Hour 1.08


LongLong

Рекомендуемые сообщения

Играю с другом по хамачи в Generals Zero Hour,но почему то выскакивает ошибка "Игра обнаружила несоответствие.Это значит,что коллективная игра потеряла данные синхронизации между игроками"

Когда я накручиваю себе $. Как это можно обойти?

Ссылка на комментарий
Поделиться на другие сайты

26 минуты назад, partoftheworlD сказал:

Скорее всего где-то пакеты сравниваются перед отправкой, либо обойти ошибку, либо подменять пакеты.

Интересно как это сделать =))

Ссылка на комментарий
Поделиться на другие сайты

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

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, partoftheworlD сказал:

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

Не получается(( нету условного перехода

Ссылка на комментарий
Поделиться на другие сайты

10 hours ago, LongLong said:

Игра обнаружила несоответствие.Это значит,что коллективная игра потеряла данные синхронизации между игроками

 

Я вообще не стал бы конкретно эту ошибку патчить.

Судя по описанию ошибки, она может возникнуть во время любой рассинхронизации, а не только в момент читерства.

От сюда следует, что эта ошибка, возможно, где-то выше вызывается через call. Возьми отладчик, поставь BP на место где она вызывается, и смотри на стек вызовов.

Исследуй код который вызывает эту функцию, возможно найдешь как "починить", если повезет.

Ссылка на комментарий
Поделиться на другие сайты

30 минуты назад, LongLong сказал:

Не получается(( нету условного перехода

LongLong, так как не ты писал скрипт, которым ты пользуешься для изменения денюжков в игре, то скорее всего у тебя и не получиться найти способ - обойти проблемку.

Но вариант, который описал partoftheworID:

5 часов назад, partoftheworlD сказал:

Скорее всего где-то пакеты сравниваются перед отправкой,

можно, думаю решить и таким образом:

1. Найди адрес денюжков. Из инструкции, или обычным образом.

2. Поставь на него Бряк на доступ (на чтение), т.к., если значение с чем-то сравнивается, то по любому будет обращение к этому адресу либо в случае сравнения, либо в случае дублирования значения в другой адрес.

 

Просто у меня был пример взлома. Женя (LIRW) попросил помочь со взломом одной игры и забыл дать мне скрипт по обходу защиты и не предупредил, что в игре есть защита. А в игре, как оказалось, при изменении значения, герой просто взрывался (лопался - смотрелось очень прикольно кстати).

И я не зная про защиту, обошёл её своим способом, просмотрев код.

Как оказалось игра перезаписывала каждое значение в соседний адрес (через 4 байта) хорируя это значение с адресом этого значения (причём там шло двойное хорирование, вторая константа хорирования была именно коснстантой). А потом игра периодически делала проверку значений, предварительно расхорируя его.

Искать все проверки мне стало влом, поэтому я просто перезаписывал и новое значение и соседнее хорированное значение. Таким образом при сверке игрой - всё было ровно.

  

 

  

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
В 10.07.2016 в 17:53, partoftheworlD сказал:

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

Подскажите пожалуйста как открыть сам код игры с возможным условием, через VS сам ехе файл не открывает или я чтото не то делаю)

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.