Вопрос Проблемы с получением LocalPlayer (РЕШЕНО)

Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
34
Поинты[?]
5K
Здарова головы. Короче, эти ваши новые каэсы не дают мне покоя, а именно получение адреса локального игрока по сигнатуре.
Вот шо я делаю:
Код:
TempAddress     := FAST_SEARCH_SIGNATURE_IN_MODULE("48 8D 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 48 83 EC ?? 8B 0D") ; 0x7FFDF1F8B240
dwLocalPlayer   := TempAddress + 0x118 - Client                                                                         ; 0x79B358
Вопрос значит такой, что я делаю не так шо у меня вылазит 0x79B358 вместо 0x1879BE8?
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
0x1800000 это базовый адрес DLL в x64, значит что твой офсет на локала будет как раз таки 0x79B358 (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
34
Поинты[?]
5K
0x1800000 это базовый адрес DLL в x64, значит что твой офсет на локала будет как раз таки 0x79B358 (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
Дружище спасибо за ответ, но я ловлю тотального тупнякевича сейчас, что я должен сделать чтобы из 0x79B358 сделать это 0x1879BE8?
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Дружище спасибо за ответ, но я ловлю тотального тупнякевича сейчас, что я должен сделать чтобы из 0x79B358 сделать это 0x1879BE8?
Тебе не нужен 0x1879BE8. Чтобы получить локального игрока тебе надо сделать RPM по адресу ClientDllBase + 0x79B358
 
I Want to Die in New Orleans
Участник
Статус
Оффлайн
Регистрация
10 Окт 2020
Сообщения
514
Реакции[?]
495
Поинты[?]
84K
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
34
Поинты[?]
5K
Тебе не нужен 0x1879BE8. Чтобы получить локального игрока тебе надо сделать RPM по адресу ClientDllBase + 0x79B358
Так тоже пробовал, выдает какую-то шляпу
Код:
READ_MEMORY(Client + 0x79B358, "UInt64")
Результат = 0x483274C08548D88B
Если что, под переменной Client, имеется введу modBaseAddr структуры MODULEENTRY
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Так тоже пробовал, выдает какую-то шляпу
Код:
READ_MEMORY(Client + 0x79B358, "UInt64")
Результат = 0x483274C08548D88B
Если что, под переменной Client, имеется введу modBaseAddr структуры MODULEENTRY
Где ты вообще этот паттерн и офсет нашел ? Если паттерн для нахождение LocalPlayerController -> client.dll + 48 83 3D ?? ?? ?? ?? ?? 0F 95. А оффсет будет 0x17DA118
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
34
Поинты[?]
5K
Где ты вообще этот паттерн и офсет нашел ? Если паттерн для нахождение LocalPlayerController -> client.dll + 48 83 3D ?? ?? ?? ?? ?? 0F 95. А оффсет будет 0x17DA118
Паттерн беру тут:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Готовые офсеты тут:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Я искал локального игрока думая, что локальный игрок это dwLocalPlayerPawn, выходит, что локальный игрок это dwLocalPlayerController? Не суть. Мне хоть какой-то адрес научится находить по паттерну и в принципе я поймаю концепцию.
Ок. Значит меняю на твой паттерн и делаю всё как ты говоришь:
Код:
TempAddress     := FAST_SEARCH_SIGNATURE_IN_MODULE("48 83 3D ?? ?? ?? ?? ?? 0F 95")
Результат = 0x7FF9029E0FA0

dwLocalPlayer   := TempAddress - Client
Результат = 0x580FA0

READ_MEMORY(Client + dwLocalPlayer, "UInt64")
Результат = 0x12591703D8348
И снова набор говна
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
34
Поинты[?]
5K
Ребят, кто столкнулся с проблемой как у меня, вот решение, выглядит некрасиво, но работает.

Получаем offset по такому принципу, но внимательно смотрим на
Пожалуйста, авторизуйтесь для просмотра ссылки.
а именно на строчку "value":
Если в строке "value": имеется значение (например, возьмём dwLocalPlayerPawn строка "value": 280, 280 в HEX = 0x118, значит + 0x118).
Что такое и от куда взялось + 4, не важно, важно добавлять его ко всем offset

Пример:
Все оффсты получаем таким способоб:
;OFFSETS
TempAddress             := FAST_SEARCH_SIGNATURE_IN_MODULE("48 8B 05 ?? ?? ?? ?? 48 85 C0 74 4F", 3) - Client
dwLocalPlayerController := READ_INT32(Client + TempAddress) + TempAddress + 4
TempAddress             := FAST_SEARCH_SIGNATURE_IN_MODULE("48 8D 05 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC 48 83 EC ?? 8B 0D", 3) - Client
dwLocalPlayerPawn       := READ_INT32(Client + TempAddress) + TempAddress + 0x118 + 4
TempAddress             := FAST_SEARCH_SIGNATURE_IN_MODULE("48 8B 0D ?? ?? ?? ?? 48 89 7C 24 ?? 8B FA C1 EB", 3) - Client
dwEntityList            := READ_INT32(Client + TempAddress) + TempAddress + 4
Как получить netvar? Также как и в csgo, по домашнему!

Пример:
Все нетвары получаем таким способом:
;NETVARS
m_fFlags                := READ_INT32(FAST_SEARCH_SIGNATURE_IN_MODULE("F6 80 ?? ?? ?? ?? ?? 75 ?? 48 8B 0D", 2))
m_iHealth_Controller    := READ_INT32(FAST_SEARCH_SIGNATURE_IN_MODULE("8B 81 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC CC 40 57", 2))
m_iHealth_Pawn          := READ_INT32(FAST_SEARCH_SIGNATURE_IN_MODULE("8B 81 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC CC 40 53 48 83 EC ?? 33 C9 E8 ?? ?? ?? ?? 48 8B D8 48 85 C0 0F 84", 2))
Есть способ красивее? Пишем сюда!
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Есть способ красивее? Пишем сюда!
Зачем в первом примере от полученного по паттерну адреса отнимать а потом в следующей же строчке прибавлять Client ? Но это ладно. Для нетваров существует более долговечный и красивый способ, я уже постил это на форуме. ссылка
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
34
Поинты[?]
5K
Зачем в первом примере от полученного по паттерну адреса отнимать а потом в следующей же строчке прибавлять Client ? Но это ладно. Для нетваров существует более долговечный и красивый способ, я уже постил это на форуме. ссылка
Манипуляция с клиентом для наглядности. Твой способ крутой, спору нет, но он для продвинутых.
ты там на паскале что ли кодишь ?
На AutoHotkey
 
Сверху Снизу