
05.09.2021, 13:08
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами:
4272230
Репутация:
183
|
|
Сообщение от legendabrn
Код:
Код:
#pragma pack(push, 1)
struct CAR_MOD_INFO
{
int test;
} mTest[24];
#pragma pack(pop)
*reinterpret_cast(0xABCFFF + 0xAB) = *reinterpret_cast(&mTest[1]);
пытался таким способом, безуспешно
Попробуй так
Код:
*reinterpret_cast(addr) = &mTest[1];
|
|
|

05.09.2021, 13:09
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от legendabrn
Код:
Код:
#pragma pack(push, 1)
struct CAR_MOD_INFO
{
int test;
} mTest[24];
#pragma pack(pop)
*reinterpret_cast(0xABCFFF + 0xAB) = *reinterpret_cast(&mTest[1]);
пытался таким способом, безуспешно
Лучше опиши всю задачу, что тебе надо сделать
|
|
|

05.09.2021, 13:16
|
|
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами:
3781678
Репутация:
113
|
|
Сообщение от Dark_Knight
Лучше опиши всю задачу, что тебе надо сделать
В структуре хранится переменная типа char, но она позволяет хранить значения до 255, я подумал а почему бы не заменить на свою структуру с int и все будет заебумба))
Просмотрев в IDA где используется данная структура, на работоспособность никак не должна повлиять
Сообщение от Musaigen
Попробуй так
Код:
*reinterpret_cast(addr) = &mTest[1];
не работает
|
|
|

08.09.2021, 23:47
|
|
Новичок
Регистрация: 06.09.2018
Сообщений: 6
С нами:
4045092
Репутация:
23
|
|
Всем приветик, помогите решить проблему с сервер коннектом
Код:
Код:
#define SAMP_CHAT_INFO_OFFSET 0x26E8C8
#define SAMP_FUNC_ADDTOCHATWND 0x67460
SAMPBase
*
pSAMP
;
void
mainThread
(
void
*
pvParams
)
{
if
(
pSAMP
)
{
while
(
!
pSAMP
->
tryInit
(
)
)
Sleep
(
100
)
;
while
(
!
pSAMP
->
isInited
)
continue
;
strcpy
(
pSAMP
->
getInfo
(
)
->
m_szHostAddress
,
"217.106.106.86"
)
;
pSAMP
->
getInfo
(
)
->
m_nPort
=
7024
;
}
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
switch
(
dwReasonForCall
)
{
case
DLL_PROCESS_ATTACH
:
{
pSAMP
=
new
SAMPBase
(
GetModuleHandle
(
"samp.dll"
)
)
;
_beginthread
(
mainThread
,
NULL
,
NULL
)
;
break
;
}
}
return
TRUE
;
}
|
|
|

09.09.2021, 01:05
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Дайте адрес, который вызывается, когда самп полностю проинициализировался (структуры там всякие и т.д.), если есть
|
|
|

09.09.2021, 01:21
|
|
Флудер
Регистрация: 10.08.2017
Сообщений: 2,659
С нами:
4609424
Репутация:
183
|
|
Сообщение от AdCKuY_DpO4uLa
Дайте адрес, который вызывается, когда самп полностю проинициализировался (структуры там всякие и т.д.), если есть
Конструктор CNetGame, но после его вызова, а не до
|
|
|

10.09.2021, 19:40
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
кроче хук 36 rpc create 3d text выводит в чат херню всякую

|
|
|

10.09.2021, 21:01
|
|
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами:
3174020
Репутация:
213
|
|
Сообщение от loganhackerdff
кроче хук 36 rpc create 3d text выводит в чат херню всякую
кусок кода который ты показал просто прелестен, идеален. но может всё же покажешь как хукаешь, какая версия самп, ну или на крайний случай дашь хоть какуе-то информацию, кроме того как ты читаешь непонятно еще правильный ли битстрим.
|
|
|

10.09.2021, 23:30
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
Сообщение от SC6UT
кусок кода который ты показал просто прелестен, идеален. но может всё же покажешь как хукаешь, какая версия самп, ну или на крайний случай дашь хоть какуе-то информацию, кроме того как ты читаешь непонятно еще правильный ли битстрим.
всё кароче,надо было bool на char заменить
|
|
|

18.09.2021, 14:19
|
|
Познающий
Регистрация: 17.09.2017
Сообщений: 41
С нами:
4554871
Репутация:
63
|
|
Привет, хотел перевести на плюсы вот эту запись.
memory lua:
Код:
mem
.
setint8
(
0x969152
,
1
,
false
)
На с++ получилось что такое:
функция для записи в память:
Код:
template
void
writeMem
(
DWORD address
,
T value
)
{
DWORD oldProtect
=
0
;
VirtualProtectEx
(
GetCurrentProcess
(
)
,
(
void
*
)
address
,
sizeof
(
value
)
,
PAGE_EXECUTE_READWRITE
,
&
oldProtect
)
;
WriteProcessMemory
(
GetCurrentProcess
(
)
,
(
void
*
)
address
,
&
value
,
sizeof
(
value
)
,
0
)
;
VirtualProtectEx
(
GetCurrentProcess
(
)
,
(
void
*
)
address
,
sizeof
(
value
)
,
oldProtect
,
NULL
)
;
}
дальше вызываю в коде:
вызов функции в коде:
Код:
unsigned
char
driveOnWater
=
1
;
writeMem
(
0x969152
,
driveOnWater
)
;
Ну и не работает кароче. Изменяю память в цикле.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|