Вопрос Как вызвать функцию ? UE

На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,019
Реакции[?]
181
Поинты[?]
70K
Есть такая вот функция класса PlayerController
void Client_SendMessage(enum class EWTLClientMessageType ClientMessageType, struct FString Text); // Function WTL.WTLPlayerController.Client_SendMessage // (Net|NetReliableNative|Event|Public|NetClient) // @ game+0x132c0a0


Я пробовал коллить с чистым адресом

C++:
static void SendChatMessage(uint8_t ClientMessageType ,FString Text)
{
    return reinterpret_cast<void(__fastcall*)(uint8_t ClientMessageType, FString Text)>(0x7FF71F93C0A0)( ClientMessageType, Text);
}
Пробовал так
Код:
static void SendChatMessage(uint8_t ClientMessageType ,FString Text)
{
    return reinterpret_cast<void(__fastcall*)(uint8_t ClientMessageType, FString Text)>(Base + 0x132c0a0)( ClientMessageType, Text);
}
Потом пробовал коллить функции из неё, вот как выглядят в иде1668402768262.png
Я вот думаю что все таки result - само действие функи как бы
Но хз как бы правильно вызвать её
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
1. можешь вызывать ее по адресу
2. можешь вызывать ее через ProcessEvent
 
dev
Забаненный
Статус
Оффлайн
Регистрация
5 Апр 2022
Сообщения
302
Реакции[?]
215
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Есть такая вот функция класса PlayerController
void Client_SendMessage(enum class EWTLClientMessageType ClientMessageType, struct FString Text); // Function WTL.WTLPlayerController.Client_SendMessage // (Net|NetReliableNative|Event|Public|NetClient) // @ game+0x132c0a0


Я пробовал коллить с чистым адресом

C++:
static void SendChatMessage(uint8_t ClientMessageType ,FString Text)
{
    return reinterpret_cast<void(__fastcall*)(uint8_t ClientMessageType, FString Text)>(0x7FF71F93C0A0)( ClientMessageType, Text);
}
Пробовал так
Код:
static void SendChatMessage(uint8_t ClientMessageType ,FString Text)
{
    return reinterpret_cast<void(__fastcall*)(uint8_t ClientMessageType, FString Text)>(Base + 0x132c0a0)( ClientMessageType, Text);
}
Потом пробовал коллить функции из неё, вот как выглядят в идеПосмотреть вложение 227921
Я вот думаю что все таки result - само действие функи как бы
Но хз как бы правильно вызвать её
во 1х. Код который ты пытаешься вызвать - так себе. Хардкодед адрес это вообще плакать хочется
во 2х эта функция выглядит как execute функция, в которой вызывается твоя функция

Тут ты можешь вызвать её через process event, либо через call virtual function, индекс функции нужной ты можешь найти в своём же скрине, либо через static find object, у тебя в целом есть всё для вызова всех 3х вариантов ( 1 и 3 почти одно и то же )
 
Начинающий
Статус
Оффлайн
Регистрация
20 Июн 2022
Сообщения
47
Реакции[?]
2
Поинты[?]
0
Исходники то есть, но нужно иметь понимание о структуре, как работают хуки и уметь их обновлять в случае глобального обновления и изменений функций
 
Сверху Снизу