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

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

Ответ
 
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Коверкаем Mpq или самопальный протект
Как вам известно давным давно люди научились защищать свои карты всевозможными методами, а вот читеры научились вставлять читы прямо в карту, дошло до того что есть автоустановщики читов в карту... Но не перевелись народные умельцы, появились карты которые очень читеры не любят, это корейские и некоторые заподные поделки, где исковеркан архив как от спазлера но несколько по иному, ибо судя по сообщениям на формах mpq.MoonLight (или модифицированный спаззлер*) с которым приходится возится в ручную, а так же неизвестные прочие методы протекта (карта не открывается, w3map Restorer, Xdep, Ladik mpq. но отлично открывается RMPQ) - спс Diod; записаны минусы в хештаблицу. Хотя известны карты которые не открываются, RMPQ но открываются ладиком....
Хотелось бы послушать от гуру:
  • какие есть уязвимости у общераспространённого софта для ковыряния mpq?
  • какие дейсвия приводят к тому что архив не открывается или открывается не корректно общедоступными mpq редакторами?
Нельзя защитить архив так чтобы нельзя было оттуда выколупать содержимое, частично конечно можно, после корейского протекта карты часто не работают корректно, отсутствуют модели и иконки...
Но вот вопрос а что бы такого натворить чтобы после распаковки, упаковки архива не работал корректно war3map.j, поделитесь своими идеями по этому поводу...
* про спаззлер и питон сомнительно, у корейцев на форумах обсуждается архив и методы поиска в нём не пойми чего на уровне HEX редактора, ни слова про спаззлер и питон...
Старый 19.07.2013, 15:52
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Юзаю авторемув посторонних триггеров (инъекций) :nate:
Старый 19.07.2013, 16:30
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
Faion:
Юзаю авторемув посторонних триггеров (инъекций) :nate:
а что мешает выпилить его из карты?
Старый 19.07.2013, 16:41
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
16GB, весь корт карты, ну такой код я так понял оч геморно, потому что это весь код карты = единая защита, выпилишь часть и не работает целое...
Старый 19.07.2013, 16:45
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
16GB, отсутствие прямых рук. Вот ты бы что пытался найти в тыщах строк кода? :)
Старый 19.07.2013, 17:11
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Faion, а поделишься кодом в лс, чтобы не боялся что сопрут, интересно глянуть собственными глазами на это....
Старый 19.07.2013, 17:13
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
quq_CCCP,
1)сканим память
2)ищем триггеры
3)идентифицируем посторонние триггеры
4)???
5)Профит.
под рукой кода нету
Старый 19.07.2013, 18:12
DioD

offline
Опыт: 45,134
Активность:
от распространённых читпаков можно защитится крайне просто, достаточно выдать те самые имена функций какимнить важным методам, вызывать эти методы через неочевидный эксикат, чтобы просто переименовать было нельзя, и уже обломится человек, а если переименует, неочевидный эксикат всё равно сделает своё дело.
я видел такой метод обфускации в ява приложении которое тырит пароли, там была большая стринг таблица без какой либо явной логики, особый линейный генератор, который собирал из этой таблицы имена методов и вызывал их, при чём использовалось два числа, сид и офсет, которые никогда не повторялись и при совершенно разных входных значениях набирали одни и теже методы.
к сожалению отладчик на InvokeMethod раскрыл весь тайный замысел и выдал мне дамп всего кода в расшифрованном виде, это к тому что против разработчика выше некоторого уровня всё это пустая трата времени.
Старый 19.07.2013, 18:25
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Faion, а если в существующий добавят? смутно представлю как ты все проверишь на вливание чего то постороннего.
quq_CCCP добавил:
Я вот тоже придумал метод проверки на читы, но он неособо оптимален, создаём структуру и записываем туда все особености игрока и его героя, переодиком все это проверяем, експу, голд и прочее даём триггерно, и спец функцией проверяем на то ли значение все изменилось у юнита или нет, если нет то тут же кик, все проверки построены так что если их отключить код карты работать не будет.
Что скажите?
quq_CCCP добавил:
Кстати проверка на чит активаторы, что тоя сразу неподумал, игрок пишит в чат -qwerty и вдруг видит что вылетел из карт и сидит в главном меню вара... правдо такое просто выпилить если искать гдеэти строки юзаются..
Старый 19.07.2013, 19:28
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
Faion:
Вот ты бы что пытался найти в тыщах строк кода? :)
уже искали привет генератору проса для евикса
Старый 19.07.2013, 19:50
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
quq_CCCP:
Faion, а если в существующий добавят?
не добавят, ибо как то нужно запускать.
Старый 20.07.2013, 01:46
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
А что на счет архива, DioD, поделишся знаниями?
quq_CCCP добавил:
Кстати а есть ли смысл юзать GetItemName(),GetObjectName(), GetUnitName() и тп, вместо строк в коде карты, равкод обьекта не 'u001' а 1966 + 092336 или тп?
Это конечно усложнить понимание за что отвечает данная функция...
Старый 20.07.2013, 03:48
DioD

offline
Опыт: 45,134
Активность:
у абилок есть поля эффектов, лично я пишу айди спела туда и в рантайме кеширую результаты, выяснить какой айдишник какой спелл вызывает проблематичненько но только если не знать тему, демокарту выложу на днях этого метода
Старый 20.07.2013, 06:31
ZLOY5

offline
Опыт: 912
Активность:
Например MPQView видит файлы только с локальным айди 0
если не ошибаюсь)
ZLOY5 добавил:
quq_CCCP:
записаны минусы в хештаблицу
а подробнее можете рассказать?
Старый 21.07.2013, 13:18
DioD

offline
Опыт: 45,134
Активность:
куда подробнее?
то что эти утилиты работает не так как игра не значит что все утилиты работают так.
Старый 21.07.2013, 14:02
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
DioD, как это руками сделать? записать данные через блокнотик, в какой адрес, какое число и тд....
quq_CCCP добавил:
вот как тут Пример, объясняет чувак про то как спаззлер коверкает архив, ты так же объясни людям, тебе все спасибо скажут...
Старый 21.07.2013, 15:17
ZLOY5

offline
Опыт: 912
Активность:
Возможно я делаю ошибку, но вот
и да, я некрофил
Старый 09.08.2013, 22:12
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
ZLOY5, я уже кое что нашёл, даже написал на VB простенькую программу которая считывает 32 байта заголовка и меняет часть из них, деспазлерр сразу же гробит, но руками снять просто, достаточно посмотреть в Norton Commander несколько карт сравнивая их по содержимому (hex) , ну от нубов конечно спасает...
Есть еще кое что, баги слк оптимизации которые вешают W3maprestorer, пока ковыряю карту но нужного результата так и не получил что же это вызывает...
Спазлер судя по его скрипту делает битый лже заголовок а настоящий смещяет на n байт, поскольку заголовок в mpq не должен начинаться с начала файла но должен быть выровнен под 512 байт (0x200 hex), а большинство мпк ищут его именно там и видят фигу.
quq_CCCP добавил:
ZLOY5, ктсти да оч интересный сурс корейской утилиты, желтолицые друзья пишут что им удалось поковаркать хт архива и несколько поиному сместить заголовок, как и говорилось ранее питоном и спаззлером не пахнет.... пока защиту не проверял...
Старый 10.08.2013, 08:25
DioD

offline
Опыт: 45,134
Активность:
сорц шторма висит уже больше года в сети, запилить архив так чтобы он был не совместим с этой библиотекой не проблема и именно этим все занимаются.
Старый 10.08.2013, 10:39
ZLOY5

offline
Опыт: 912
Активность:
это и сделано в туле этой
в шторме ведь используется беззнаковая переменная для хранения позиции таблиц, а в варе наверняка знаковая
перемещаем таблицы перед заголовком и вуаля
Старый 10.08.2013, 11:09
Ответ

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

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

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

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



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