Сейчас на форуме: Magister Yoda, vasilevradislav (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› выпилить Steam из игры Dota 2 |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 19 января 2014 15:31 · Личное сообщение · #1 Вот решил посмотреть, что такое Steam внутри. Поиграл в эту доту2 - быстро надоело, решил немного надругаться над игрой по аналогии с DUNE 2009 Patch Техническая суть вопроса: насколько понял, нужно просто правильно эмульнуть ответы по обращению движка engine.dll(и иже с ним) к steam_api.dll (Вроде существует ломанный клиент, но меня тянет на велосипед). Кто нибудь отвязывал стим? Есть ли грабли и с чем их едят? |
|
Создано: 19 января 2014 16:14 · Личное сообщение · #2 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 19 января 2014 16:26 · Поправил: ELF_7719116 · Личное сообщение · #3 Есть функция LAN игры (локальное лобби), которое, вроде как, доступно только, если есть коннект к steam. К тому же, если я буду битхачить игру, клиент наверняка может накапать в валве(?!). Ну и наконец, просто желание выпилить к ебени матери. Code:
Для небольшого вброса - для задротеров(кто читает эту тему, но не понимает, в принципе, 99% здесь написанного. но не просто так Вам уходить же отсюда) такой же небольшой гайд по герою npc_dota_hero_mirana (короче Mirana с ее * Не забывайте также, что Maelstrom/Mjollnir - это модификатор атаки. Т.е. стрела, которая попадет в цель может дополнительно шарахнуть током(если Mirana успела поменять в ней Duracell), что делает ее еще более убойной вещью. Аналогично и с Orb of Venom. * Mask of Madness - вещь, которой можно затариться взамен камешка Hyperstone. Попадание стрелой+прыжок+звездопад(если осталась мана)+врубание сей хрени дает 100% шанс убить героев с небольшим запасом здоровья и серьезно испортить настроение уже отожравшимся. Не забывайте, что это еще и шанс включить у зверька форсаж и вовремя смыться! * Катана Yasha и иже с ним - манта( * Эта самая плохая ситуация... когда у Mirana * Конечно глупо все всегда качать в атаку, когда еще целые DWORD'ы значений всяких других параметров героя. Поэтому нелишним ляпнуть пару слов о Все вышесказанное по гайду в двух словах и другим языком: с помощью Maelstrom/Mjollnir подводите Mirana к ее золотой середине-ведению стиля игры между Luna style и Drow Ranger Style. ░ ... если Вы считаете себя «крутой»(pro, задрот) мираной™ и пускаете стрелы чуть ли не с закрытыми глазами и при этом попадаете точно-то у меня для Вас печальные новости: привилегией при устройстве на работу это не будет! Впрочем, если делать Вы больше ничего не умеете, то потенциал для прокачки skill есть... ДА ЕЩЕ КАКОЙ - в На этом все. За неточности, инженерно-технический оттенок написанного и убогость мыслей прошу извинить - я увлекаюсь потрошением всяких SecuROM и ему подобных старфорсов (ну вы поняли), а в игры играюсь лишь изредка, и то в подавляющем большинстве случаев это X-COM: TFTD |
|
Создано: 19 января 2014 17:23 · Поправил: sivorog · Личное сообщение · #4 например, есть игра Worms Revolution крэк (No-Steam) от Reloaded там изменен файл steam_api.dll НО: нормально можно играть только 1 игроку, + недоступны покупаемые/приобретаемые за какие-то внутриигровые достижения вкусняшки (оружие там особое, и проч.). т.е. играть можно, но без плюшек. ради интереса поскачивал несколько No_Steam'ов к разным играм, везде хачится эта DLL правда, часто её после этого накрывают вмпротом, так что особо не поисследуешь в аттаче - имена типичных API Steam, сами за себя говорят. 1386_19.01.2014_EXELAB.rU.tgz - STEAM_API usage.png | Сообщение посчитали полезным: ELF_7719116 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 19 января 2014 17:56 · Личное сообщение · #5 |
|
Создано: 19 января 2014 18:08 · Личное сообщение · #6 |
|
Создано: 19 января 2014 18:57 · Поправил: Kindly · Личное сообщение · #7 sivorog пишет: я имею в виду, что Reloaded накрывает хакнутые либы вмпротом. да не хакнутые они, это ихний эмулятор, написанный с нуля (в основном они универсальные для многих игр, поправляются только с учетом изменений в клиенте). мне вот больше интересно можно ли из exe выпилить из импорта steam_api.dll и заставить игру запускаться без ее участия. хотя надо попробовать что-то поковырять со своего клиента, но после того как подробно пообщался о различных ньюансах steam, забил хе, ну только что сломал у себя Braid, тупо занопил вызовы на steam_api.dll и выпилил из импорта - но думаю, что эта игра серъезно не защищена. ELF_7719116, про CEG еще ----- Array[Login..Logout] of Life |
|
Создано: 20 января 2014 23:16 · Поправил: v00doo · Личное сообщение · #8 |
|
Создано: 21 января 2014 01:37 · Личное сообщение · #9 ELF_7719116 ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 21 января 2014 17:52 · Поправил: ELF_7719116 · Личное сообщение · #10 Киньте сырки эмуля, что в http://exelab.ru/F/action=vthread&forum=13&topic=21313 (хотя хочу немного по другому пойти...). Если кому-то нужен стимворк_сдк(регатся и качать - лень) скину (полсотни весит)...впрочем есть альтернативный вариант: https://partner.steamgames.com/downloads/steamworks_sdk_127.zip 9b8e_21.01.2014_EXELAB.rU.tgz - steam_api.h |
|
Создано: 22 января 2014 04:45 · Личное сообщение · #11 |
|
Создано: 22 января 2014 12:52 · Личное сообщение · #12 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 28 января 2014 19:22 · Личное сообщение · #13 Понеслась! Вообщем полазил я немного(ну вы поняли) в самой dota2.exe и что там прилагается в виде dll Наибольшую ценность представляет server.dll, в ...\dota\bin(что в принципе неудивительно) - К.О. сообщает, что именно там происходит хранение бабла, маны, здоровья и всякой другой ненужной херни. Все это разбито на структуры/массивы, каждая из которых имеет 10 значений(по количеству игроков), ну и соответственно функция, которая обрабатывает данный массив, в качестве аргумента запрашивает локальное id игрока(в осн. игре сверху картинки 0,1,2...9 соот-но). Собственно по локальному ID игрока мы ездим по массиву(типа MOV EDI,DWORD PTR DS:[ESI*4+ECX+3C0]). Тут уместно заметить, что при невнимательности разрабов(нету проверки, что в коде ниже)ведь локальное ид поступает от клиента и может быть =100500, т.е. можно вызвать отказ в обслуживании сервера, заслав указатель в космос. Насчет шеллкода не могу ничего сказать-надо копать глубже. Code:
К слову, кроме бесконечных бабла, здоровья, ман, респаунов и тд, можно получить хоть 500 героев в игре(более разумные пределы-штук 30), надо, очень много раз, править указанный код + частично переписать двигло(engine.dll+client.dll)... муторно, хотя с DUNE 2009 получилось. Если в массиве, если встречается числа -1(Суть всегда означает DISABLED/FALSE и тд) и 0 до 100(скоко там их - я не в курсе), то это ID героев(HeroID). Ну и кроме всего прочего, конечно можно издевательски забить на потайные лавки, курьеров, невозможность выбора героя, если им уже играет другой(буквально команда из одного и того же героя), играть другим игроком. Не знаю, можно ли все это безобразие(сразу) провернуть через читы/консоль-я делал это все натуральным ломанием игрушки: еще скрины: http://bayimg.com/iAhkEaaFp http://bayimg.com/IaHkfAAfP К сведению: если будете аттачится к дота2.ехе - выключите игнорировать исключения(вкладка Exceptions в ольке), там некое подобие антиатача(наверно?), пропускайте (F7/F8) исключения PAGE_GUARD(некоторые участки в кернеле32/нтдлл). Впрочем, по существу, оно ничем не страшно. AND: стим цег займусь попозже. А еще: прикрепил текстовый файл с наиболее полным собранием команд в консоли/читов (щас На сем, пока, откланяюсь! ec90_28.01.2014_EXELAB.rU.tgz - dota2_console_commands.zip | Сообщение посчитали полезным: v00doo, Kaimi, OnLyOnE, Gideon Vi, antoshka_kartoshka |
|
Создано: 28 января 2014 20:01 · Личное сообщение · #14 Посмотри это, вдруг поможет http://www.sendspace.com/file/tiync7 | Сообщение посчитали полезным: Gideon Vi |
|
Создано: 28 января 2014 22:06 · Поправил: v00doo · Личное сообщение · #15 ELF_7719116, как узнают, думаю сразу зафиксят, ну как минимум когда им сервер положат то точно. С учетом что сейчас Valve на ней выезжает и аудиторию собирает, а халявщиков достаточно. Ps это я про: ELF_7719116 пишет: локальное ид поступает от клиента и может быть =100500, т.е. можно вызвать отказ в обслуживании сервера |
|
Создано: 28 января 2014 23:19 · Личное сообщение · #16 |
|
Создано: 28 января 2014 23:29 · Поправил: v00doo · Личное сообщение · #17 ARCHANGEL пишет: можно в неё играть бесплатно без стим акка Можно бесплатно, но нужен акк, на акке уровень держит (по нему подбирает соперников в публичной игре), статистику, шмотки и всякое разное держит, без коннекта к инету не поиграть даже локально с ботами. За таньгу можно накупить шмоточек и других предмтиков, профита они не дают, только модельки да текстурки меняют визуально, но за некоторые многие %users% готовы отвалить не малую сумму. Вроде все аспекты. | Сообщение посчитали полезным: ARCHANGEL |
|
Создано: 28 января 2014 23:38 · Личное сообщение · #18 |
|
Создано: 29 января 2014 00:23 · Поправил: Jaa · Личное сообщение · #19 v00doo пишет: без коннекта к инету не поиграть даже локально с ботами. вы не правы ARCHANGEL неплохая игруля кстати |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 29 января 2014 07:45 · Личное сообщение · #20 |
|
Создано: 29 января 2014 08:10 · Личное сообщение · #21 ARCHANGEL пишет: А, ну ладно. Обойдусь тогда. ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 29 января 2014 10:15 · Личное сообщение · #22 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 29 января 2014 18:19 · Поправил: ELF_7719116 · Личное сообщение · #23 |
|
Создано: 29 января 2014 18:48 · Личное сообщение · #24 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 29 января 2014 19:11 · Личное сообщение · #25 Valemox В 99% случаях - да! Сервер рассылает и обрабатывает данные по/от клиентам. И чтобы вы не правили у себя в клиенте-толку 0. Взломать? Найти уязвимость в оси сервера или клиенте игры(возможность отсылать данные, при обработке которых будет получено управление или управлять данными в памяти сервера, через указатели). |
|
Создано: 29 января 2014 20:17 · Поправил: Valemox · Личное сообщение · #26 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 30 января 2014 07:44 · Личное сообщение · #27 Valemox Чес говоря, не знаю. Теоретически это возможно(может даже и в этой доте2), но код должен быть специфическим, типа: Code:
или возможно переполнение буфера/кучи(например, выше массива с деньгами, располагается буфер, где текстовые строки из чата и их длина не проверяется) | Сообщение посчитали полезным: Valemox |
|
Создано: 31 января 2014 08:12 · Личное сообщение · #28 ELF_7719116, то что ты пишешь про изменение памяти сервера, давно уже нереал практически нигде. Такое можно было проворачивать лет 10 назад. Сейчас все данные от клиента проверяют, даже если они пошифрованны. Раньше умудрялись даже писать sql инжекты через чат(любая хранимая строка на сервере - потенциальный инжект). Сейчас многие компании уже пострадали от таких вещей и все такие места проверяют по 10 раз. Так что найти переполнение можно с тем же шансом, как искать его в винде. Намного более часто можно получить или показать данные, которые тебе изначально неизвестны. Например в доте рисовать вражеского игрока на карте или его хп, ману, деньги. Изначально клиент не рисует это, но часто заранее имеет эти данные или их можно получить по запросу. Например отослать пакет выделения вражеского игрока и получить ответ сервера. И фигня, что он находится за пределами видимости. Сервер может вернуть все данные о вражеском игроке. На таких ошибках и пишут читы. | Сообщение посчитали полезным: ELF_7719116 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 02 февраля 2014 16:02 · Личное сообщение · #29 Луна, луна, цветы, цветы. Нам часто в жизни не хватает друзей и доброты. Луна, луна, цветы, цветы. Все, кто влюблен, им доверяют надежды и мечты... Единственное, что: бабки(золото) у двух команд хранится в разных массивах(до обновления вроде было в одном) Code:
И вопрос: идет такой код Code:
где Code:
Из-за одной инструкции, делать отдельную процедуру-WTF? |
|
Создано: 04 февраля 2014 01:31 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Крэки, обсуждения —› выпилить Steam из игры Dota 2 |