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

Трудности с перехватом пакетов


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

Раз уж пошла такая пьянка, с созданием раздела специального для мультиков - то кто как ни я вставлю и свои пять копеек :D

 

Давно уже морочусь с одним дельцем, никак солюшен не найду.

Итак, это игра. Мультиплеерная. Вконтакте. Называется - правила войны.

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

Там есть одна "сложность" - ресурсы. Их три: уран, титан, кредиты. Первые два - самые проблемные, т.к. используются везде и в больших дозах. Кредиты - хоть одним местом ешь, в каждом секторе их под завязку. 

Итак, пытался вскрыть это безобразие. СЕ не получится. Ускорителем (спидхак процессовый) тоже не вариант.

Единственный солюшен - подмен пакетов через Чарльза. Ну чтож, настроился я значит на "нужную волну", сниферю пакетики. Только вот те пакеты, в которых собственно и содержится вся инфа о нас - она... Там бардак.

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

Что я делаю не так? Быть может, способ не тот? Или есть обход обфускации пакетов?

 

P.s. такой способ (обфускация) используют почти все игры ВК, только "недалекие" разработчики от такого не защищены. Как я думаю, временно.

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

Не обфускация, а шифрование. Слегка разные вещи. Далее - флеш-игру можно декомпилировать, чтобы посмотреть, как внутри реализована расшифровка пакета. Но я не думаю, что это поможет. Во всех развитых играх контактовских клиент игры только команду даёт, а все расчёты производит сервер.

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

Не обфускация, а шифрование. Слегка разные вещи. Далее - флеш-игру можно декомпилировать, чтобы посмотреть, как внутри реализована расшифровка пакета. Но я не думаю, что это поможет. Во всех развитых играх контактовских клиент игры только команду даёт, а все расчёты производит сервер.

Не совсем понял, что значит "декомпилировать" ? Она... она онлайновая. Всмысле, вконтакте. Как такового клиента нет (я так думаю). Клиент в браузере. Что декомпилировать? Шифровка-дешифровка лично для меня новая тема, но я буду рад её освоить. И помоему способ взлома очевиден - давать "ложные" команды, к примеру на прибавление ресурсов - а сервер все сделает за нас. 

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

Клиент написан на флэше. Значит, есть возможность его выдернуть и попробовать декомпилировать - то есть, восстановить исходный код. И дальше уже копать. Но, ядумаю, тут не все так просто, иначе толпы народу уже давно читерили бы вконтакте, быдлоклассниках, мордокниге и мэйл.ру.

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

Все, что я напишу ниже, это я вижу в теории. Практики у меня никакой нет.

 

Вот к таким играм, я более лояльно отношусь. Там продают преимущество через донат. Это мое ИМХО.

 

1. Шифрование пакетов + сжатие + контроль последовательности пакетов. Это может быть как защита так и с целью уменьшения трафика. 

 

2. Может не быть шифрования и нет сжатия, передаются  через пакет данные о действий игрока. 

 

И помоему способ взлома очевиден - давать "ложные" команды, к примеру на прибавление ресурсов - а сервер все сделает за нас. 

 

 Логируй пакеты и пытайся отличить их одинаковое количество с количеством событий в игре, которые ты делаешь. Попробуй повторить отправку разных пакетов один за одним или в разной последовательности с разными скоростями и разными скоростями ответов на эти пакеты, которые могли бы к чему-то перевести. Эксперименты со скоростью отправки разных пакетов может помочь в том, что две транзакции могут не обработать условие последовательно как задумывалось, наверно как правило транзакции обрабатываются параллельно. Я так случайно вроде, начислил себе монеток в Трагедии Белок, у меня тогда были перебои с модемом. И я так себе начислил  26 монет, через функцию пригласить друга, за которую давали меньше монет. Но, случайно, а не специально. Похоже либо пакет много кратно отправился до записи на серверной стороне, что он обработан и были монеты начислены, либо что-то другое.

 

 Т.к. в игре донат, и там не глупые люди наверно сидят в программистах. Логика игры и данные наверняка полностью обрабатываются на серваке, а ты как бы, когда отправляешь пакет звонишь по телефону и говоришь сделай то и сделай то. Если сервак согласиться, то он сделает. Если действия будут идти не по правилам игры и есть проверка на авторитарном сервере, то ничего не получиться. Но могут быть условия, которые разрабы могут перед носом не видеть - в параллельной логике обработки транзакций. Два или несколько условий, обрабатываемых параллельно и не учитывая какие-то нюансы не законченных транзакций.

 

Ну и если с покетами ничего не придумаешь, то как писал Xipho выдергивать флеш приложение и декопилишь его, чтобы узнать лучше, что там происходит. У нас было пара тем как декомпилировать. Ну и искать слабости.

 

Все, что я написал, это я вижу в теории. Но практики у меня нет. Может я что и неправильно написал.

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

Клиент написан на флэше. Значит, есть возможность его выдернуть и попробовать декомпилировать - то есть, восстановить исходный код. И дальше уже копать. Но, ядумаю, тут не все так просто, иначе толпы народу уже давно читерили бы вконтакте, быдлоклассниках, мордокниге и мэйл.ру.

Ну пока что идея Xipho мне кажется легче. Итак, как поймать клиент игры и как его декомпилировать? Ну и попутный вопрос: как во всем этом искать слабости?

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

  • 2 недели спустя...

Ну пока что идея Xipho мне кажется легче. Итак, как поймать клиент игры и как его декомпилировать? Ну и попутный вопрос: как во всем этом искать слабости?

посмотри вот тут https://xakep.ru/2011/03/03/54979/ все подробно описано, про то как посмотреть и исход, и как лучше посмотреть пересылку пакетов!!!

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

  • 4 недели спустя...

Ребят, но при этом клиент дает значение, вопрос в том как стабилизировать данное значение для того что бы оно стало постоянным? 

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

Ребят, но при этом клиент дает значение, вопрос в том как стабилизировать данное значение для того что бы оно стало постоянным? 

Excuse me? 

Стабилизировать... значение... what? 

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

Ребят, но при этом клиент дает значение, вопрос в том как стабилизировать данное значение для того что бы оно стало постоянным?

Тряхну телепатией...

Если имеется в виду то, чтобы значение не изменялось в игре, то это значение нужно "заморозить", т.е. если пишешь программу, то тебе нужно по таймеру выставлять нужное значение, по нужному адресу. Если используешь сторонние инструменты, типа Cheat Engine, то он замораживает значения адреса за тебя, при включении соответствующей функции (в СЕ - "квадратик" слева от адреса/скрипта, или: выделив нужный адрес в списке - нажать клавишу "Space" ("Пробел")).

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

Тряхну телепатией...

Если имеется в виду то, чтобы значение не изменялось в игре, то это значение нужно "заморозить", т.е. если пишешь программу, то тебе нужно по таймеру выставлять нужное значение, по нужному адресу. Если используешь сторонние инструменты, типа Cheat Engine, то он замораживает значения адреса за тебя, при включении соответствующей функции (в СЕ - "квадратик" слева от адреса/скрипта, или: выделив нужный адрес в списке - нажать клавишу "Space" ("Пробел")).

Таймер? Зачем? Можно же: 

while(true) {

WriteProcessMemory(12);

Sleep(10); }

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

Таймер? Зачем? Можно же:  while(true) { WriteProcessMemory(12); Sleep(10); }

С таким подходом ты получишь стабильную нагрузку на процессор в районе 10 процентов. Оно тебе надо?

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

  • 2 недели спустя...

С таким подходом ты получишь стабильную нагрузку на процессор в районе 10 процентов. Оно тебе надо?

Не знаю) Вообще оно не мне надо)

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

  • 1 год спустя...
13 часа назад, csayro сказал:

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

http://tinyurl.com/z2qphgr  в этом видео думаю можно увидеть как это сделать применимо к даной игре. но у меня вышла заминка клавиша  F7 неработает в версии ангина 6.5.  думаю вполне могло получится.

исправленно можно удалить предедущий комент

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

×
×
  • Создать...

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

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