HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #7521  
Старый 16.04.2025, 17:46
Byte
Новичок
Регистрация: 20.11.2006
Сообщений: 9
С нами: 10248157

Репутация: 17
По умолчанию

Цитата:
Сообщение от vmprotect  

пытаюсь поставить хук на UpdateNetwork, но когда отправляю ракнет пакеты ничего не работает

zalupa code:





Код:
void
CNetGame__UpdateNetwork__HOOK
(
const
decltype
(
CNetGame__UpdateNetwork_Hook
)
&
hook
,
void
*
_this
)
{
Packet
*
packet
=
nullptr
;
uint8_t
*
localdata
=
nullptr
;
uint8_t
state
{
}
;
for
(
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
;
packet
;
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
)
{
localdata
=
packet
->
data
;
switch
(
state
)
{
localdata
=
packet
->
data
;
if
(
*
localdata
==
40
)
state
=
localdata
[
5
]
;
case
223
:
{
RakNet
::
BitStream
bs
(
(
unsigned
char
*
)
packet
->
data
,
packet
->
length
,
false
)
;
uint8_t
packetID
;
uint32_t
rpcID
;
bs
.
Read
(
packetID
)
;
bs
.
Read
(
rpcID
)
;
if
(
rpcID
==
15
)
{
sampapi
::
v037r3
::
RefChat
(
)
->
AddChatMessage
(
"я тормоз"
,
0xFFFFFFFF
,
"я тормоз"
)
;
return
;
}
break
;
}
default
:
break
;
}
}
return
hook
.
call_trampoline
(
_this
)
;
}
void
hooks
::
install_tormoz_updatenetwork_hook
(
)
{
CNetGame__UpdateNetwork_Hook
.
set_dest
(
0xAF20
)
;
CNetGame__UpdateNetwork_Hook
.
set_cb
(
&
CNetGame__UpdateNetwork__HOOK
)
;
CNetGame__UpdateNetwork_Hook
.
install
(
)
;
}

C++:





Код:
void
CNetGame__UpdateNetwork__HOOK
(
const
decltype
(
CNetGame__UpdateNetwork_Hook
)
&
hook
,
void
*
_this
)
{
Packet
*
packet
=
nullptr
;
for
(
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
;
packet
;
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
)
{
uint8_t
packetID
=
packet
->
data
[
0
]
;
if
(
packetID
==
40
)
{
RakNet
::
BitStream
bs
(
(
unsigned
char
*
)
packet
->
data
,
packet
->
length
,
false
)
;
bs
.
Read
(
packetID
)
;
uint16_t
rpcID
;
bs
.
Read
(
rpcID
)
;
if
(
rpcID
==
15
)
{
sampapi
::
v037r3
::
RefChat
(
)
->
AddChatMessage
(
"RPC 15 получен"
,
0xFFFFFFFF
,
"Отладка"
)
;
}
}
else
if
(
packetID
==
223
)
{
sampapi
::
v037r3
::
RefChat
(
)
->
AddChatMessage
(
"Пакет 223 получен"
,
0xFFFFFFFF
,
"Отладка"
)
;
}
}
return
hook
.
call_trampoline
(
_this
)
;
}
void
hooks
::
install_tormoz_updatenetwork_hook
(
)
{
CNetGame__UpdateNetwork_Hook
.
set_dest
(
0xAF20
)
;
CNetGame__UpdateNetwork_Hook
.
set_cb
(
&
CNetGame__UpdateNetwork__HOOK
)
;
CNetGame__UpdateNetwork_Hook
.
install
(
)
;
}


state не устанавливается перед switch, а внутри первого case
 
Ответить с цитированием

  #7522  
Старый 21.04.2025, 19:07
tanksoftik
Новичок
Регистрация: 10.03.2025
Сообщений: 17
С нами: 622067

Репутация: 8
По умолчанию

Как вообще работают лимиты самп на машины? И как их можно снять? Просто смотрел idb самп на скины лимит 20к и его видно, а на машины так и не нашел где стоит лимит и что надо патчить
 
Ответить с цитированием

  #7523  
Старый 21.04.2025, 19:20
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

Цитата:
Сообщение от tanksoftik  

Как вообще работают лимиты самп на машины? И как их можно снять? Просто смотрел idb самп на скины лимит 20к и его видно, а на машины так и не нашел где стоит лимит и что надо патчить
 
Ответить с цитированием

  #7524  
Старый 28.04.2025, 20:56
writeline
Новичок
Регистрация: 16.01.2022
Сообщений: 28
С нами: 2276608

Репутация: 8
По умолчанию

Подскажите адрес координат игрока пожалуйста.

с++:





Код:
HRESULT APIENTRY
hkEndScene
(
LPDIRECT3DDEVICE9 pDevice
)
{
if
(
!
bInit
)
InitializeD3D
(
pDevice
)
;
if
(
bInit
&&
pDevice
)
{
stCoordinates coords
=
GetPlayerCoordinates
(
)
;
char
buffer
[
128
]
;
sprintf_s
(
buffer
,
"X: %.2f, Y: %.2f, Z: %.2f"
,
coords
.
fX
,
coords
.
fY
,
coords
.
fZ
)
;
DrawText
(
buffer
,
10
,
10
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
)
;
}
return
oEndScene
?
oEndScene
(
pDevice
)
:
D3D_OK
;
}
DWORD WINAPI
HookThread
(
LPVOID lpParam
)
{
//D3D
while
(
!
pDevice
)
{
pDevice
=
*
(
LPDIRECT3DDEVICE9
*
)
0xC97C28
;
Sleep
(
100
)
;
}
DWORD
*
pVTable
=
*
(
DWORD
*
*
)
pDevice
;
DWORD oldProtect
;
VirtualProtect
(
&
pVTable
[
42
]
,
sizeof
(
DWORD
)
,
PAGE_EXECUTE_READWRITE
,
&
oldProtect
)
;
oEndScene
=
(
HRESULT
(
APIENTRY
*
)
(
LPDIRECT3DDEVICE9
)
)
pVTable
[
42
]
;
pVTable
[
42
]
=
(
DWORD
)
hkEndScene
;
VirtualProtect
(
&
pVTable
[
42
]
,
sizeof
(
DWORD
)
,
oldProtect
,
&
oldProtect
)
;
return
0
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD reason
,
LPVOID lpReserved
)
{
if
(
reason
==
DLL_PROCESS_ATTACH
)
{
DisableThreadLibraryCalls
(
hModule
)
;
// pCoordinates = (stCoordinates*) ТУТ АДРЕС;
CreateThread
(
NULL
,
0
,
HookThread
,
NULL
,
0
,
NULL
)
;
}
return
TRUE
;
}
 
Ответить с цитированием

  #7525  
Старый 29.04.2025, 07:45
tanksoftik
Новичок
Регистрация: 10.03.2025
Сообщений: 17
С нами: 622067

Репутация: 8
По умолчанию

Цитата:
Сообщение от writeline  

Подскажите адрес координат игрока пожалуйста.

с++:





Код:
HRESULT APIENTRY
hkEndScene
(
LPDIRECT3DDEVICE9 pDevice
)
{
if
(
!
bInit
)
InitializeD3D
(
pDevice
)
;
if
(
bInit
&&
pDevice
)
{
stCoordinates coords
=
GetPlayerCoordinates
(
)
;
char
buffer
[
128
]
;
sprintf_s
(
buffer
,
"X: %.2f, Y: %.2f, Z: %.2f"
,
coords
.
fX
,
coords
.
fY
,
coords
.
fZ
)
;
DrawText
(
buffer
,
10
,
10
,
D3DCOLOR_ARGB
(
255
,
255
,
255
,
255
)
)
;
}
return
oEndScene
?
oEndScene
(
pDevice
)
:
D3D_OK
;
}
DWORD WINAPI
HookThread
(
LPVOID lpParam
)
{
//D3D
while
(
!
pDevice
)
{
pDevice
=
*
(
LPDIRECT3DDEVICE9
*
)
0xC97C28
;
Sleep
(
100
)
;
}
DWORD
*
pVTable
=
*
(
DWORD
*
*
)
pDevice
;
DWORD oldProtect
;
VirtualProtect
(
&
pVTable
[
42
]
,
sizeof
(
DWORD
)
,
PAGE_EXECUTE_READWRITE
,
&
oldProtect
)
;
oEndScene
=
(
HRESULT
(
APIENTRY
*
)
(
LPDIRECT3DDEVICE9
)
)
pVTable
[
42
]
;
pVTable
[
42
]
=
(
DWORD
)
hkEndScene
;
VirtualProtect
(
&
pVTable
[
42
]
,
sizeof
(
DWORD
)
,
oldProtect
,
&
oldProtect
)
;
return
0
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD reason
,
LPVOID lpReserved
)
{
if
(
reason
==
DLL_PROCESS_ATTACH
)
{
DisableThreadLibraryCalls
(
hModule
)
;
// pCoordinates = (stCoordinates*) ТУТ АДРЕС;
CreateThread
(
NULL
,
0
,
HookThread
,
NULL
,
0
,
NULL
)
;
}
return
TRUE
;
}

Телопорт игрока SAMP C++

Недавно увлекся хакингом и реверсом игр. Сейчас дошло дело до того, что хочу реализовать телепорт. С++ Имеется вот такой код. float *position = (*(DWORD *)0xB6F5F0) ? (float *)(*(DWORD *)(*(DWORD *)0xB6F5F0 + 0x14) + 0x30) : NULL; position[0] = 1233,43; position[1] =...

www.blast.hk
 
Ответить с цитированием

  #7526  
Старый 01.05.2025, 23:38
Loku
Познающий
Регистрация: 17.08.2013
Сообщений: 33
С нами: 6703949

Репутация: 58
По умолчанию

Does someone know why I do always get 65535? I basically want to get the IDs of the players in my vehicle. I get it while I'm in the car without passengers.

C++:





Код:
auto
myVehicle
=
playerPool
->
GetLocalPlayer
(
)
->
m_nCurrentVehicle
;
//gives correct samp id
if
(
pVehiclePool
->
m_bNotEmpty
[
myVehicle
]
)
{
samp
::
CVehicle
*
pSampVehicle
=
pVehiclePool
->
m_pObject
[
myVehicle
]
;
CVehicle
*
pVehicle
=
pSampVehicle
->
m_pGameVehicle
;
auto
idDriver
=
playerPool
->
Find
(
pVehicle
->
m_pDriver
)
;
// always 65565
}


I have also tested:

Код:





Код:
auto myVehicle = playerPool->GetLocalPlayer()->m_nCurrentVehicle;
    if (pVehiclePool->m_bNotEmpty[myVehicle])
    {
        CVehicle* pVehicle = pVehiclePool->m_pGameObject[myVehicle];
        auto idDriver = playerPool->Find(pVehicle->m_pDriver);
    }


The goal would be getting this:

C++:





Код:
std
::
vector

GetIDPlayersFromCurrentVehicle
(
)
{
samp
::
CVehiclePool
*
pVehiclePool
=
samp
::
RefNetGame
(
)
->
GetVehiclePool
(
)
;
samp
::
CPlayerPool
*
playerPool
=
samp
::
RefNetGame
(
)
->
GetPlayerPool
(
)
;
std
::
vector

playerIDs
;
auto
myVehicle
=
playerPool
->
GetLocalPlayer
(
)
->
m_nCurrentVehicle
;
if
(
pVehiclePool
->
m_bNotEmpty
[
myVehicle
]
)
{
CVehicle
*
pVehicle
=
pVehiclePool
->
m_pGameObject
[
myVehicle
]
;
auto
idDriver
=
playerPool
->
Find
(
pVehicle
->
m_pDriver
)
;
if
(
idDriver
!=
65535
)
{
playerIDs
.
push_back
(
idDriver
)
;
}
unsigned
char
numPassengers
=
pVehicle
->
m_nNumPassengers
;
for
(
unsigned
char
i
=
0
;
i

m_apPassengers
[
i
]
;
if
(
passenger
)
{
auto
idPassenger
=
playerPool
->
Find
(
passenger
)
;
if
(
idPassenger
!=
65535
)
{
playerIDs
.
push_back
(
idPassenger
)
;
}
}
}
}
return
playerIDs
;
}
 
Ответить с цитированием

  #7527  
Старый 03.05.2025, 22:58
swlm
Познающий
Регистрация: 03.08.2022
Сообщений: 57
С нами: 1990627

Репутация: 8
По умолчанию

что за функция? RemovePlayerFromVehicle откуда она, только конкретно, из гта или из самп клиента

Такой вопрос, по поводу лимита CarMods в игре.

Пытаюсь снять лимит, так-вот, кто-то может объяснить кратко, почему например в этих исходниках происходит reallocate на массив с каким-то прибавлением байтов, fastman92.

Это из-за того, что какой-то тип данных имеет определённый размер в байтах?

Почему например, если я укажу + 1, то может произойти краш, или что-то ещё.
 
Ответить с цитированием

  #7528  
Старый 05.05.2025, 16:15
pastow
Участник форума
Регистрация: 01.01.2023
Сообщений: 216
С нами: 1773732

Репутация: 33
По умолчанию

как рисовать картинку в имгуи меню? у меня имгуи дх11 киеро хук
 
Ответить с цитированием

  #7529  
Старый 05.05.2025, 16:24
ARMOR
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами: 3831395

Репутация: 183


По умолчанию

Цитата:
Сообщение от pastow  

как рисовать картинку в имгуи меню? у меня имгуи дх11 киеро хук
Image Loading and Displaying Examples

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies - ocornut/imgui

github.com
 
Ответить с цитированием

  #7530  
Старый 05.05.2025, 16:24
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

Цитата:
Сообщение от pastow  

как рисовать картинку в имгуи меню? у меня имгуи дх11 киеро хук
ImGui: Images, textures, рендер для новичков

Всем привет, решил немного рассказать про подгрузку текстур, так как многие новички просто не понимают что они делают, как они это делают, и откуда вообще появляются ошибки в рендере от картинок. Я видел парочку гайдов все они показывают либо очень сжато, либо вообще в 90% показывают новичкам...

yougame.biz
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.