Просмотр полной версии : Где взять BaseAddress офсета
DarkWare
30.08.2023, 07:29
Я начинающий кодер и хотелось бы узнать где взять бейсаддресс кого го нибудь офсета ксго. Вот код где мне нужен бейсаддресс:
Thirdperson:
if
(
thirdperson
)
{
int
localPlayer
=
*
(
int
*
)
(
BaseAddress
+
dwLocalPlayer
)
;
if
(
localPlayer
!=
NULL
)
{
*
(
int
*
)
(
localPlayer
+
m_iObserverMod
)
=
1
;
}
}
RedHolms
30.08.2023, 14:58
1. Не вижу вообще смысла тут в BaseAddress, так как адресуется память игры.
Вообще, советовал бы для начала изучить C в отдельности от сампа, да бы понять как устроена память, и что бы таких моментов, как сейчас, не происходило.
Так же про память программы есть хорошее видео от winderon'а:
(видео не совсем про память, но будет полезно для начинания)
2. Просто ответ на твой вопрос: посмотри, чему равен BaseAddress у тебя в проекте, нажав на него мышкой, а затем F12
Если ты вырезал код от куда-то, то тогда сложнее, и лучше используй plugin-sdk (библиотека для работы с гта). Гайды для неё найдёшь на форуме
DarkWare
30.08.2023, 15:58
1. Не вижу вообще смысла тут в BaseAddress, так как адресуется память игры.
Вообще, советовал бы для начала изучить C в отдельности от сампа, да бы понять как устроена память, и что бы таких моментов, как сейчас, не происходило.
Так же про память программы есть хорошее видео от winderon'а:
(видео не совсем про память, но будет полезно для начинания)
2. Просто ответ на твой вопрос: посмотри, чему равен BaseAddress у тебя в проекте, нажав на него мышкой, а затем F12
Если ты вырезал код от куда-то, то тогда сложнее, и лучше используй plugin-sdk (библиотека для работы с гта). Гайды для неё найдёшь на форуме
Я пишу чит на ксго а не на самп
RedHolms
30.08.2023, 18:28
Понял. Тогда скорее всего BaseAddress, это адрес какой-то дллки в память
Функция GetModuleHandleA возвращает базовый адрес дллки
digitalpurple
30.08.2023, 19:51
uintptr_t module = (uintptr_t)(GetModuleHandleA("модуль")); (в интернете есть тонна других пример, это первое что в голову пришло)
насколько я знаю тебе нужен client.dll
DarkWare
30.08.2023, 21:19
uintptr_t module = (uintptr_t)(GetModuleHandleA("модуль")); (в интернете есть тонна других пример, это первое что в голову пришло)
насколько я знаю тебе нужен client.dll
Потом сделать client.dll + 0xCCA6B4(это офсета локалплеер)?
digitalpurple
30.08.2023, 22:20
Потом сделать client.dll + 0xCCA6B4(это офсета локалплеер)?
da
F0RQU1N and
31.08.2023, 05:46
зачем ты оффсеты юзаешь? в сурс движке же есть нетвары: schemasystem (https://www.blast.hk/redirect/aHR0cHM6Ly9wcmF5ZG9nLmNvbS9yZXZlcnNlLWVuZ2luZWVyaW 5nLzIwMTUvMDYvMjQvc291cmNlMi5odG1s)(source 2), datamap (https://www.blast.hk/redirect/aHR0cHM6Ly93d3cudW5rbm93bmNoZWF0cy5tZS9mb3J1bS9jb3 VudGVyc3RyaWtlLWdsb2JhbC1vZmZlbnNpdmUvMjQ5MjA2LWRh dGFtYXAtdmFyaWFibGUtZ3JhYmJlci5odG1s)(source 1)
а локалплеера обычно по паттерну берут
DarkWare
31.08.2023, 17:04
da
baseaddress:
uintpr_t client
.
dll
=
(
uintpr_t
)
(
GetModuleHandleA
(
"client.dll"
)
)
;
uintpr_t BaseAddress
=
(
uintpr_t
)
(
client
.
dll
+
0xDEA98C
)
;
так?
baseaddress:
uintpr_t client
.
dll
=
(
uintpr_t
)
(
GetModuleHandleA
(
"client.dll"
)
)
;
uintpr_t BaseAddress
=
(
uintpr_t
)
(
client
.
dll
+
0xDEA98C
)
;
так?
Практически...
C++:
DWORD client_dll
=
GetModuleHandleA
(
"client.dll"
)
;
DWORD BaseAddress
=
client_dll
+
0xDEA98C
;
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot