 |
|

03.04.2024, 06:36
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от skrrt
как можно реализовать привязку сервера, например если подключаешься на IP 127.0.0.1:7777, то будет выводиться определенная функция, а если на другой IP то ничего не будет
gethostbyname проще всего хукнуть
|
|
|

03.04.2024, 14:24
|
|
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами:
2453766
Репутация:
68
|
|
каким образом можно сделать наложение обводки на радар?
|
|
|

14.04.2024, 20:07
|
|
Новичок
Регистрация: 14.04.2024
Сообщений: 1
С нами:
1097180
Репутация:
1
|
|
Как можно отрисовать imgui меню на android без хука egl swap buffer?
|
|
|

15.04.2024, 09:36
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от middle1221
Как можно отрисовать imgui меню на android без хука egl swap buffer?
рисуй поверх
|
|
|

15.04.2024, 19:39
|
|
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами:
2453766
Репутация:
68
|
|
в sampapi возможно создавать свой кастомный диалог? если да каким образом это реализуется ?
|
|
|

19.04.2024, 15:16
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от skrrt
в sampapi возможно создавать свой кастомный диалог? если да каким образом это реализуется ?
C++:
Код:
#include "sampapi/CDialog.h"
sampapi
::
v037r3
::
RefDialog
(
)
-
Show
(
1488
,
2
,
"Title"
,
"Hello"
,
"Ok"
,
"Sosat"
,
false
)
;
|
|
|

22.04.2024, 00:23
|
|
Новичок
Регистрация: 20.04.2024
Сообщений: 3
С нами:
1088734
Репутация:
3
|
|
как вызывать такое окно для перезапуска программы с правами администратора

|
|
|

23.04.2024, 12:09
|
|
Новичок
Регистрация: 16.01.2022
Сообщений: 28
С нами:
2276608
Репутация:
8
|
|
Сообщение от skrrt
как можно реализовать привязку сервера, например если подключаешься на IP 127.0.0.1:7777, то будет выводиться определенная функция, а если на другой IP то ничего не будет
При загрузке плагина добавь проверку наличия "ключа" в строке запуска сампа, при наличии твоего IP будет выполнятся функция, если же его не будет то самп запустится как обычно.
с++:
Код:
BOOL APIENTRY
DllEntryPoint
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
{
DisableThreadLibraryCalls
(
hModule
)
;
TCHAR
*
cmdline
=
GetCommandLine
(
)
;
if
(
StrStr
(
cmdline
,
"127.0.0.1:7777"
)
)
{
// ТУТ ТВОЙ КОД
}
}
return
TRUE
;
LoadLibrary
(
"samp.dll"
)
;
}
|
|
|

23.04.2024, 17:14
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от skrrt
как можно реализовать привязку сервера, например если подключаешься на IP 127.0.0.1:7777, то будет выводиться определенная функция, а если на другой IP то ничего не будет
Сообщение от writeline
При загрузке плагина добавь проверку наличия "ключа" в строке запуска сампа, при наличии твоего IP будет выполнятся функция, если же его не будет то самп запустится как обычно.
с++:
Код:
BOOL APIENTRY
DllEntryPoint
(
HMODULE hModule
,
DWORD dwReasonForCall
,
LPVOID lpReserved
)
{
if
(
dwReasonForCall
==
DLL_PROCESS_ATTACH
)
{
DisableThreadLibraryCalls
(
hModule
)
;
TCHAR
*
cmdline
=
GetCommandLine
(
)
;
if
(
StrStr
(
cmdline
,
"127.0.0.1:7777"
)
)
{
// ТУТ ТВОЙ КОД
}
}
return
TRUE
;
LoadLibrary
(
"samp.dll"
)
;
}
Можно хукнуть метод RakClient, отвечающий за подключение к серверу
C++:
Код:
#include "kthook/kthook.hpp"
using
RakClientConnect_t
=
bool
(
__thiscall
*
)
(
void
*
pRakClient
,
const
char
*
host
,
unsigned
short
serverPort
,
unsigned
short
clientPort
,
unsigned
int
depreciated
,
int
threadSleepTimer
)
;
kthook
::
kthook_simple
(
RakClientConnectHook
)
;
bool
RakClientConnectHooked
(
const
decltype
(
RakClientConnectHook
)
&
hook
,
void
*
pRakClient
,
const
char
*
host
,
unsigned
short
serverPort
,
unsigned
short
clientPort
,
unsigned
int
depreciated
,
int
threadSleepTimer
)
{
if
(
strcmp
(
host
,
"127.0.0.1"
)
==
0
)
)
std
::
cout
(
GetModuleHandle
(
"samp.dll"
)
)
;
RakClientConnectHook
.
set_cb
(
&
RakClientHooked
)
;
RakClientConnectHook
.
set_dest
(
SAMPHandle
+
0x339F0
)
;
// R3
RakClientConnectHook
.
install
(
)
;
Еще к примеру можно хукать какую-нибудь функцию из winsock (получать адрес экпортируемой функции из Ws2_32.dll), но тогда есть вероятность. то функция вызвана не из samp.dll, а например из какого-то плагина
|
|
|

25.04.2024, 18:47
|
|
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами:
2453766
Репутация:
68
|
|
Сообщение от why ega
Можно хукнуть метод RakClient, отвечающий за подключение к серверу
C++:
Код:
#include "kthook/kthook.hpp"
using
RakClientConnect_t
=
bool
(
__thiscall
*
)
(
void
*
pRakClient
,
const
char
*
host
,
unsigned
short
serverPort
,
unsigned
short
clientPort
,
unsigned
int
depreciated
,
int
threadSleepTimer
)
;
kthook
::
kthook_simple
(
RakClientConnectHook
)
;
bool
RakClientConnectHooked
(
const
decltype
(
RakClientConnectHook
)
&
hook
,
void
*
pRakClient
,
const
char
*
host
,
unsigned
short
serverPort
,
unsigned
short
clientPort
,
unsigned
int
depreciated
,
int
threadSleepTimer
)
{
if
(
strcmp
(
host
,
"127.0.0.1"
)
==
0
)
)
std
::
cout
(
GetModuleHandle
(
"samp.dll"
)
)
;
RakClientConnectHook
.
set_cb
(
&
RakClientHooked
)
;
RakClientConnectHook
.
set_dest
(
SAMPHandle
+
0x339F0
)
;
// R3
RakClientConnectHook
.
install
(
)
;
Еще к примеру можно хукать какую-нибудь функцию из winsock (получать адрес экпортируемой функции из Ws2_32.dll), но тогда есть вероятность. то функция вызвана не из samp.dll, а например из какого-то плагина
а через rakclient можно создать коннект на другой айпи ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|