
15.10.2024, 00:33
|
|
Постоянный
Регистрация: 01.08.2020
Сообщений: 988
С нами:
3043831
Репутация:
163
|
|
Сообщение от nonelike
плюсы:
Код:
const
uintptr_t address_vehicle
=
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
+
(
0x0E40D
)
;
DWORD dwOldProtect_veh
;
VirtualProtect
(
(
LPVOID
)
address_vehicle
,
6
,
PAGE_EXECUTE_READWRITE
,
&
dwOldProtect_veh
)
;
*
reinterpret_cast
(
address_vehicle
)
=
20000
;
VirtualProtect
(
(
LPVOID
)
address_vehicle
,
6
,
dwOldProtect_veh
,
&
dwOldProtect_veh
)
;
попытался захавать твою инфу с объяснением, попытался че то сделать с чтобы поменять 611 -> 20000 но дальше краша не ушел
ты меняешь значение 263, это "63 02 00 00" (числа хранятся в обратном порядке, поэтому так - с десяткой было попроще), адрес 0xE040D начинается с "3D 63 02 00", т.е ты инструкцию перезатрешь, а тебе нужно 1 байт отступить:
0x0E40D + 0x01 (0x0E40E)
ну и точно также снять защиту с 4 байт, а не с 6, но это особо роли не сыграет
|
|
|