PDA

Просмотр полной версии : [Информация] Battles For Glory 2 Наследие, радар\бот\спаммер


separater
18.01.2018, 20:12
Некоторая инфа по новому клиенту BsfG. суть та же что и со старым, только новые смещения:


Класс
UNetworkHandler :: 0x20AC4374
ID нашего персонажа :: 0x20AC4370

Таблица с NPC\Игроками :: UNetworkHandler -> 0x25C
Размер таблицы :: UNetworkHandler -> 0x260


С перебором таблицы все как и ранее

// pTable - адрес таблицы
// pTableSize - размер таблицы

for (int i = 0; i < pTableSize; i++) {
int pUserID = mem::read<int>(pTable + (i * 0xC) + 0x4);
int pUser= mem::read<int>(pTable + (i * 0xC) + 0x8);

int UserClass= mem::read<int>(pObj + 0x4);
}

Основные смещения в классе User

0x8 - Уникальный ID
0xC - npc_grp ID, у игроков - 0
0x90 - ник

0x10 \ 0x14 - ХП персонажа (текущ\макс)
0xF0 \ 0xF4 - ЦП персонажа (текущ\макс)

0x50C - ссылка на класс AActor (инфа по модели\координаты и т.д.)


Основные смещения в классе AActor

0x188 - координаты XYZ
0x1CC - ускорение по осям XYZ (можно вычислить текущую скорость)

0x3C -> 0x43C - уникальный ID персонажа\NPC, который в таргете у текущего User'а


По функциям:

Передвижение:
0x2055cea0
typedef void (__thiscall *MTL) (int UNetworkHandler, int AActor, float x_move, float y_move, float z_move, float x_cur, float y_cur, float z_cur, int AActor_WTF, int unk0, int unk1, int unk2);
// AActor - естественно нашего перса, там как двигаем мы себя
// AActor_WTF - фиг знает что это, но ссылка на него находится по адресу "AActor + 0x40"

Выбор таргетов:
0x20549990
typedef int (__thiscall *Action)(int UNetworkHandler_this, int target_ID, float x, float y, float z, int Unk_zero);

Что угодно (функ. отправки пакета)
smackw32.dll + 0x262C0 (при обновлениях может меняться оффсет, сейчас 0x263B0) (да, мы запускаем не из Engine.dll, так как туда пакет уже зашифрованным заходит, а вот тут он в первозданном виде)
typedef void(__cdecl *SendPacket)(int pClass, char* pStrFormat, int iPacketID, ...);
// pClass находится по адресу "UNetworkHandler + 0x48"
// далее идет указатель на строку формата пакета
// далее на ID пакета
// далее зависит от того что за пакет отправляется


смотреть какому пакету какой "формат", и что там дальше передавать в аргументы при помощи отладчиков.
вот к примеру пакет "Action"

SendPacket(pClass, "cdddddc", 0x1F, _id, cX, cY, cZ, 0, 0);
// pClass - оговаривалось ранее
// "cdddddc" - формат, "c" - байт\чар (id пакета), d - dword, S - указатель на строку Unicode
// итого в аргементы-> байт (id пакета), 5 двордов и еще байт
// 0x1F - ID пакета Action
// _id - уникальный ID того, что нужно выделить\атаковать
// координаты

*Достаточно легко отлавливается и пакет на отправку сообщения в чат (но для каждого типа чата (трейд, шаут, приват, ...) свой пакет).


World to Screen
все так же как и в прошлый раз, вот новые смещения матриц:
// Registers:
//
// Name Reg Size
// --------------------- ----- ----
// WorldMatrix c237 4
// ViewMatrix c241 4
// ProjectionMatrix c245 4
единственное что - в опциях поотключать все эффекты, отражения и иличшайзеры картинки (визуально всеравно игра кал, но матрицы шатает)

Демонстрация
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

*Пример того как нужно ловить и дешифровать пакет:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

mikyra
27.01.2018, 14:02
Есть маленькие проблемы можете ответить или разблокировать в скайпе volnuhin.maxim

separater
27.01.2018, 23:30
боже чувак ты задолбал уже. сколько можно?
ты мне еще в почтовый ящик на квартиру письма слать начни.
я не буду обновлять старую анатомию, я не буду делать нормальную новую, я не играю в эту игру. я ковыряю двиг в свободное время, все.

я тебе уже отвечал что ты в скайпе был вброшен в черный список из-за постоянного спама.

я могу помочь с вопросами по разработке\реверсу движка, не более.

Добавлено через 15 часов 39 минут
пример реверса пакета для сообщений в чат.
по такой же схеме ловился любой пакет, скилы, июазние предметов и т.д.

первое что нужно ws2_32.send - через нее выходит траффик на сервер.а там понеслась...

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

KepLer1050
29.01.2018, 11:32
Привет, уважаемые господа) Есть проблема, мы не можем корректно внедриться в процесс bsfg, игра вылетает, как только мы пытаемся поставить бряк на какой-либо функции. Есть идеи, почему так происходит?

ScythLab
29.01.2018, 12:14
ИМХО "внедриться" и "бряк" (т.е. отладка) это несколько разные вещи, которые между собой особо не пересекаются. Если проблема именно с бряком, то скорей всего поток, где срабатывает бряк отключен от отладки.

separater
29.01.2018, 13:00
Для Cheat Engine такое решение:
Идем в опции , настройки отладки - выбираем отладчик на уровне ядра (kernelmode)
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

но ему нужен драйвер.
Что бы запустить драйвер:

Идем во вкладку "помощь" - "Описание" - кликаем по зеленому тексту - жмем "ок"
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Драйвер запускать нужно каждый раз после перезагрузки ПК.

KepLer1050
30.01.2018, 20:06
separater, спасибо за помощь, помогло =) Тока трабл с 10-ой виндой, на ней драйвер никак не хочет заводиться, бсод выкидывает или глухо вешает систему. А вот на 7-ке заводится за милую душу, начинаем эксперименты ;-) Кста, быть может есть у кого рецепт, как запустить этот злополучный DBVM драйвер на 10-ой винде?

separater
30.01.2018, 23:13
separater, спасибо за помощь, помогло =) Тока трабл с 10-ой виндой, на ней драйвер никак не хочет заводиться, бсод выкидывает или глухо вешает систему. А вот на 7-ке заводится за милую душу, начинаем эксперименты ;-) Кста, быть может есть у кого рецепт, как запустить этот злополучный DBVM драйвер на 10-ой винде?
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

разраб предлагает скачать вот это:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

а закинуть в папку с CE.
"Just extract these files over the ones in the cheat engine installation folder"

вроде как кому-то помогло. можно попробовать.

а так вообще фиг знает. win 10 зло, юзал только на работе, ничего хорошего не заметил. пока что вин7 тащит)

AlexKitsune
11.11.2018, 10:34
Не много не в тему, но очень нужен бот для Battles For Glory 2, такой есть?

ScythLab
11.11.2018, 22:37
Есть