Перейти к содержимому


Фотография

почти аддон на C++


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Ken Rosenberg

Ken Rosenberg

    Рубака

  • 48 сообщений

Отправлено 22 Ноябрь 2016 - 19:52

введение

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

Ну ничего, изобретем велосипед заново.

 

Так как написанеим аддонов вообще не занимался, знаю про них только то, что они, вроде как, пишутся на lua. lua - скриптовый язык со своими тонкостями, ну нахер его не приходилось с ним иметь дело, не умею) Короче как всегда, поможет всемогущий C++ )))0)))

 

Начал гуглить оффсеты, нихера не нашел. Начал дрочить вовку через ida и ce, убил пару часов, но нашел вот такой вот чудовищный многоуровневый указатель(СЕМЬ, КАРЛ) на хасту: 

Скрытый текст

Вот, 932, всё сходится.

Скрытый текст

Рядышком в памяти можно заметить и другие статы игрока, там и рес, и дух, и ап, и пенетра, и вообще все-все.

Скрытый текст

Ну дальше, собсна, дело техники.

 

Вот разыменовывание, если кому-то надо.

uint16_t spd = (uint16_t)*(DWORD*)(0x1000 + *(DWORD*)(0x744 + *(DWORD*)(0x3dc + *(DWORD*)(0xc + *(DWORD*)(0x4a4 + *(DWORD*)(0x38 + *(DWORD*)0xadb754))))));
uint16_t haste = (uint16_t)*(DWORD*)(0x1138 + *(DWORD*)(0x744 + *(DWORD*)(0x3dc + *(DWORD*)(0xc + *(DWORD*)(0x4a4 + *(DWORD*)(0x38 + *(DWORD*)0xadb754))))));
uint16_t cryt = (uint16_t)*(DWORD*)(0x110c + *(DWORD*)(0x744 + *(DWORD*)(0x3dc + *(DWORD*)(0xc + *(DWORD*)(0x4a4 + *(DWORD*)(0x38 + *(DWORD*)0xadb754))))));

Рендерить текст и простые примитивы в игре решил через старый хук DirectX, который изначально предназначался для  GTA San Andreas. Но и для вовки, как видно ниже на скрине, он тоже прекрасно подошел.

И так, компилируем, инжектим полученную .DLL к игре и имеем:

Скрытый текст

 

Ах да, чуть не забыл: если пытаться получить и отрендерить статы игрока, не войдя в игру/во время загрузки - игра закрашится. Тут тоже нашел два адреса:

0xAC7A38 == 0// когда вы в игре
0xACDBE8 == 1// когда вы в игре

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

Выложил от чистого сердца к солнцу, чтоб не пропало. Кому-то, да пригодится. Тема, по сути, интересная. Долго думал куда это слить, потом вспомнил про старый вовбай. Хотя тут от вовбая почти ничо не осталось. раунд

Прикрепленные файлы

  • Прикрепленный файл  2.png   268,38К   0 Количество загрузок:
  • Прикрепленный файл  3.png   9,4К   0 Количество загрузок:

Сообщение отредактировал Ken Rosenberg: 22 Ноябрь 2016 - 19:54

  • 3

worldofwarcraft.by
Dragonblight x1





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных