XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > StarCraft (только чтение)> StarCraft 2 inside
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
DioD

offline
Опыт: 45,184
Активность:
Критическая уязвимость встроенной защиты банков SC2

textwallisnotforchipmunksitsforhamsterssooreadverycarefullyinenglishfrommyheart



Для взлома любого банка в любой карте на данный момент времени (а возможно и всегда) нам требуется:
  • 1) zezula.net/en/mpq/download.html что это такое и как оно работает, там есть мануал, учите.
  • 2) Microsoft Windows XP (для висты и семёрки существует ряд "отклонений от плана" я не буду тратить на это время, возможно кто-то добрый скажет как точно
  • 3) Starcraft 2 лицензия
  • 4) Notepad
  • 5) Рука
  • 6) Рука
  • 7) ну вы поняли
  • 9) ах да я писал в своей предыдущей заметке что к чему, еще в моём коллективном твиттере (флудилка)

Приступаем:

В начале -бох сотво- нам надо установить, имеет ли желанная карта банк вообще, и есть ли на нём собственно защита, в первую очередь мы открываем папку с банками, так как банков всегда меньше чем карт, сначала смотрим там:

Код:
%SYSDRIVE%:\Documents and Settings\%username%\My Documents\StarCraft II\Accounts\YOUR_ID\CHAR_ID\Banks


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

Банк имеет достаточно читаемую структуру, которую не возможно обсфуцировать в принципе, он разделён на категории группы и значения, структура точно такая же как в кеше варкрафта, всё прекрасно читается и отлично просматривается.

Если банку выставлен флаг защиты, игра запишет в него подпись
Код:
<Signature value="7684FF9762FC9C0F6D1918509307653BA1CAFFCF"/>


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

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

Для того чтобы знать точно мы идём крутить карту, карта имеет расширение s2ma и находится в кеш батлнета:

Код:
%SYSDRIVE%:\Documents and Settings\All Users\Application Data\Blizzard Entertainment\Battle.net\Cache


Я не разбирался о том, как работает кеш и по какому принципу он распределяет карты и каким образом генерирует для них имена, однако инфа 100% это делает сам сервер, так как кеш у всех идентичный.

Первые четыре буквы HASH суммы используются для папок, дальше в какой папке фаил сохранился, там и будет, логики нет инфа 100%, в одной папке может быть 100500 разных карт которые не связаны ни чем.

Искать карту можно или устройствами вроде ProcessMonitor или руками, имя карты проще всего увидеть в galaxy файле, он же исполняющий код.

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

Смотрим текстовым поиском
Код:
BankVerify
возможно его куда либо перенесли или передекларировали, так что смотрите внимательно и анализируйте любые упоминания.

Если несмотря на наличие подписи, игра никак не реагирует на её нарушение, можно особо не парится, если же реагирует, у нас есть ряд возможностей:

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


На этом пути возникает ряд сложностей, нам нужно запустить изменённую карту на батле, так как запуск на локальной машине, и на сервере даёт разную соль и соответственно подписи не совместимы.

Для этого мы, подгатавливаем галакси код, делаем копию нужной карты, инжектируем код в копию, идём на батлу и создаём игру.

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

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


Copy (2) of catch.rar это текстовый документ.

Если игра запускает и ничего не делает - вы допустили синтаксическую или логическую ошибку, делайте всё очень аккуратно, где именно ошибка игра вам не скажет.
Прикрепленные файлы
Тип файла: zip MapScript.zip (26.6 Кбайт, 32 просмотров )
Тип файла: rar Copy (2) of catch.rar (1.5 Кбайт, 27 просмотров )
Старый 13.03.2011, 20:29
H
hello world
offline
Опыт: 130,376
Активность:
Ну и что это, и зачем это юзать?
Старый 13.03.2011, 21:33
DioD

offline
Опыт: 45,184
Активность:
представь что нубы сделали карту с блэкджеком шлюхами и админ панелью, ты хочешь в админ панель, проверка по банку.
Старый 14.03.2011, 00:27
H
hello world
offline
Опыт: 130,376
Активность:
Для этого даже в теории ты должен точно знать что есть такая панель. Ты же не станешь изучать исходный код всех любимых карт?)
+ Гораздо проще сделать проверку определенных условий. Не помню но вроде можно узнать ник, хотя тут сомнительно.
Старый 14.03.2011, 00:36
DioD

offline
Опыт: 45,184
Активность:
ник на бнет2.0 большой большой секрет и узнать какой он есть не представляется возможным (хотя на самом деле это не правда, но 95% не в силах это сделать).
Старый 14.03.2011, 09:29
Toadcop

offline
Опыт: 53,013
Активность:
Цитата:
В общем пока банки лежат на наших жестаках защитить их не возможно.

кэп =О ...
King Of My Castle

ну норм. такой материал по своему ценен =)
Старый 14.03.2011, 16:34
AlakFrost

offline
Опыт: 7,936
Активность:
Если это ещё в силе , можно по подробнее про последний пункт .
Как подменить карту и какой код нужно сделать ?
Старый 25.09.2011, 01:48

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:13.