Сейчас на форуме: 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 (Вроде существует ломанный клиент, но меня тянет на велосипед). Кто нибудь отвязывал стим? Есть ли грабли и с чем их едят? |
|
Создано: 04 февраля 2014 10:32 · Личное сообщение · #2 |
|
Создано: 04 февраля 2014 11:21 · Личное сообщение · #3 Дефайн-это не функция. И он подставляется препроцессором на место вызова. На мой взгляд, кодес такой из-за виртуальных функций и наследования классов. | Сообщение посчитали полезным: ajax |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 24 декабря 2015 20:15 · Личное сообщение · #4 Sorry, dear Gabe Newell! But linux reversing live too lol! Code:
sv_gravity 100 - эт чё, типа если гравитацию поставить сотку, то в доте, как и в контре: по всей карте будут летать герои??! |
|
Создано: 24 декабря 2015 21:36 · Личное сообщение · #5 |
|
Создано: 25 декабря 2015 05:32 · Личное сообщение · #6 |
|
Создано: 25 декабря 2015 11:26 · Личное сообщение · #7 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 25 декабря 2015 17:43 · Личное сообщение · #8 v00doo пишет: Ну ты зайди в игре (там где-то можно бегать и тестить команды) можно все потыкать и глянуть. драйвер опенсоурсный стоит - а steam'у нужен пропиетарный. TryAga1n пишет: дальность перемещения при отбросе, как например от Blinding Light котла, Flamebreak батрайдера, Gust траксы, Deafening Blast инвокера и т.д. по идее ещё при прыжке должна действовать int пишет: И кстати чтобы реверсить доту под линукс не надо иметь для этого иду под линукс. да знаю! но как-то обычный linux более радует глаз теперь (Там жеж по 80_PA, правда эт в личке..ну ты понел) |
|
Создано: 29 декабря 2015 18:27 · Личное сообщение · #9 Здравствуйте уважаемые хакеры Я прочитал Вашу тему и мне стало очень интересно. Скажите пожалуйста можно ли рассчитать точное попадание стрелой мираны в героя из вражеской команды? Это решаемая задача? Как это запрограммировать, и чтобы ещё выводилось на экран? Прошу только не банить меня за вопрос такой. |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 29 декабря 2015 20:40 · Поправил: ELF_7719116 · Личное сообщение · #10 antoshka_kartoshka пишет: Скажите пожалуйста можно ли рассчитать точное попадание стрелой мираны в героя из вражеской команды? Это решаемая задача? Как это запрограммировать, и чтобы ещё выводилось на экран? ахаха! Но тем не менее - вопрос интересный. Не скрою - меня он заинтриговал. Решение данной задачи можно интрепритировать по двум областям математики: теории вероятностей или геометрии. Конечно я в курсе, что знание теории вероятностей у среднестатестического дотера равно нулю, а знания в области геометрии - немногим больше нуля. Поэтому попробую кратко обьяснить, исходя из области геометрии. Возможно кому-то тоже пригодится. РЕШЕНИЕ ЗАДАЧИ ПРО МИРАНУ и СТРЕЛУ Задача про стрелу аналогична задаче о вычислении точки встречи вражеского корабля и торпеды подводной лодки. Зная скорость и направление движения (угол) корабля, скорость торпеды, а также учитывая тот факт, что время движения торпеды до места пересечения равно времени хода корабля до места пересения - можно вычислить угол, под которым должна быть выстрелена торпеда (т.е. по сути мы получим точку пересения). Представляем сцену в форме треугольника (показано на картинке). точка A - враг; точка B - mirana, точка C- пересение стрелы и врага, всё это образует треуголник ABC. Враг движется с известной скоростью v, стрела несется со известной скоростью u, известный угол альфа - положение врага относитель точки пуска стрелы (мираны), сторона (расстояние) AB так-же нам будет известно. Опуская технические вопросы вычисления угла альфа (стороны AB) из потрохов движка доты2 (сами уже в этом разбирайтесь). Естественно, все знают форму пути s=u*t, откуда: Code:
Уместно заметить, что к времени на стрелу tc нужно ещё накинуть время задержки на пуск и время доворота героя на азимут пуска, но я это тоже опущу для простоты. Естественно, что: Code:
Собственно остаётся только применить теорему синусов (стороны треугольника пропорциональны синусам противолежащих углов): АС/sinβ = BC/sinα или vt/sinβ = ut/sinα отсюда получаем формулу для расчета угла бета по довороту мираны на азимут пуска стрелы *********************************** * β = arcsin(v*sinα/u) * *********************************** В программе выглядет это как-то так: Code:
Это самый, очевидный мне, вариант решения указанной задачи. Надеюсь, это и ожидал прочитать любознательный игрок. |
|
Создано: 29 декабря 2015 21:51 · Поправил: v00doo · Личное сообщение · #11 ELF_7719116, а теперь всего-то осталось: 1. сделать инжект и повесить хуки на вывод. 2. перехватить значения в памяти характеристик героя по карте. 3. определить мирану. 4. определить ближайших таргетов. 5. выполнить расчет и нарисовать прямые пересечений в игре. Подумаешь Ps И получить потом бан аккаунта, ибо там защита висит, для любителей использовать хаки, или еще это обходить сидеть | Сообщение посчитали полезным: ELF_7719116 |
|
Создано: 30 декабря 2015 02:02 · Личное сообщение · #12 |
|
Создано: 30 декабря 2015 04:28 · Личное сообщение · #13 v00doo пишет: И получить потом бан аккаунта, ибо ???))) подключить либо OPNGL либо DirectX и прорисовать на карте трассируещие лучи , бан получишь если в памяте поменяешь некоторые значения, а если считаешь то никто это и не заметит))))) ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 30 декабря 2015 05:37 · Личное сообщение · #14 ELF_7719116, в расчет не взята скорость разворота самой потмы, по направлению запуска стрелы, ну и конечно же крипы. Но самой большой проблемой при таком расчете, будут конечно же мансы влево-вправо с разными интервалами времени, направлениями и расстояниями. Так что можно сказать, что задача не решаема |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 30 декабря 2015 07:38 · Личное сообщение · #15 TryAga1n пишет: в расчет не взята скорость разворота самой потмы, по направлению запуска стрелы, ну и конечно же крипы За разворот потмы я написал - "и время доворота героя на азимут пуска". Крипы - ну да, надо считать отдельно до пуска стрелы Да там, вообще, много ньансов. Ещё, к примеру, в лесу зверьки в лагерях (ну или как там они называются) ClockMan пишет: подключить либо OPNGL либо DirectX и прорисовать на карте трассируещие лучи , бан получишь если в памяте поменяешь некоторые значения, а если считаешь то никто это и не заметит))))) Я думаю можно - не видел ни разу проверку crc в движке. В самом движке (на винде) directx. v00doo Gideon Vi пишет: а потом продавать. Так может дотеры скинутся. ИХ вон сколько много. Если сумма выйдет более ляма - то можно сделать |
|
Создано: 30 декабря 2015 11:25 · Личное сообщение · #16 ELF_7719116 пишет: щё, к примеру, в лесу зверьки в лагерях нейтралы) Также стоить учесть, что движение другого героя неравномерно, может он дернется и повернет в другую сторону или остановится. Получить направление героя не вопрос, у каждого почти класса в доте есть подкласс Vector, который задает направление. Про скорость не знаю, не изучал данный вопрос. Кстати получить коры героев, которых не видно тебе, получить нереально, только если ты не сервер. Я не знаю деталей реализации FogOfWar (туман войны, класс, который скрывает локации героев), но уверен, что сервер не отправляет данных о местоположении других вражеских героев на клиент, который их не видит. Однако на сервер можно придумать сплойты, ибо написан он коряво, они явно спешат с релизами. |
|
Создано: 30 декабря 2015 12:28 · Личное сообщение · #17 int пишет: но уверен, что сервер не отправляет данных о местоположении других вражеских героев на клиент Думаю отправляет,взять известную игру Варфрейм там есть дымовые завесы и световые граната, так обойти это на стороне клиента не проблема ))))) ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 30 декабря 2015 13:53 · Личное сообщение · #18 int пишет: . Кстати получить коры героев, которых не видно тебе, получить нереально, только если ты не сервер. Я не знаю деталей реализации FogOfWar (туман войны, класс, который скрывает локации героев) Судя по тому, что корректное отображение вражеских героев при выходе из тумана войны очень сильно хромает (бывает, что сервер позже показывает - когда герой прошел уже до фига; и баг ещё с курьером был - когда при убийстве, его смерть несколько раз отображалась при рассеивании ForofWar), то, действительно, сервер сам всё рассчитывает. Пару раз я видел, как метка вражеского героя отображалась на миникарте, а самого героя видно не было. Алсо, в Battlefiled 4, забавная фигня есть - ты стреляешь по противнику с танка, и совершенно отчетливо видишь, что снаряд мимо должен пролететь, однако, каким-то чудом урон наносится. Да и сама по себе, система расчета урона, при встрече снаряда и брони вообще работает, как китайский рандом - то четко попадаешь бронейбойным снарядом в борта техники под 90 градусов, но урон засчитывается мизерный (меньше чем при попадании по лобовой броне), то лупишь навскидку по лобовой броне - и снимается огромное количество урона. По вертолетам аналогично. int пишет: Также стоить учесть, что движение другого героя неравномерно, может он дернется и повернет в другую сторону или остановится. Таки да. Это и есть самая главная проблема. Особенно если дистанция большая. |
|
Создано: 30 декабря 2015 16:49 · Поправил: v00doo · Личное сообщение · #19 ELF_7719116 пишет: Таки да. Это и есть самая главная проблема. Особенно если дистанция большая. Ну тут вообще тогда нет смысла заморачиваться, тут играет фактор вероятности поворота героя, человек может сам мансануть а может нет, все зависит от его навыков да и реакции на событие, одни делают по десятку кликов, другие по одному. Цель такого инжекта по идеи просто облегчить попадание, а не сделать его 100%, тут никак не выйдет постоянное попадание, ведь в конце концов играют роль задержки от сервера, все расчеты на клиенте будут с запозданием как ни крути. |
|
Создано: 30 декабря 2015 19:54 · Личное сообщение · #20 ClockMan пишет: Думаю отправляет А причем тут Варфрейм? У доты гораздо хитрее разделение классов server-side-only (не отправляются сервером на клиент в принципе) и client-server (они называются network entities, и синхронизируется между сервером и всеми клиентами-игроками, HLTV, напротив, рассылает с задержкой по-умолчанию - защита от читерства путем второго компьютера и игрока-наблюдателя). |
<< . 1 . 2 . |
eXeL@B —› Крэки, обсуждения —› выпилить Steam из игры Dota 2 |