 |
|

08.06.2023, 13:18
|
|
Новичок
Регистрация: 31.05.2023
Сообщений: 1
С нами:
1556707
Репутация:
1
|
|
Как нарисовать 3D круг на Imgui?
|
|
|

08.06.2023, 22:54
|
|
Участник форума
Регистрация: 20.12.2021
Сообщений: 290
С нами:
2315345
Репутация:
48
|
|
|
|
|

14.06.2023, 13:45
|
|
Новичок
Регистрация: 05.06.2023
Сообщений: 2
С нами:
1549596
Репутация:
1
|
|
code lua:
lua:
Код:
local
sampev
=
require
(
"lib.samp.events"
)
function
sampev
.
onSendSpawn
(
)
setCharHealth
(
PLAYER_PED
,
0
)
return
false
end
function
sampev
.
onSendDeathNotification
(
)
return
false
end
как эти две функи переписать на сф (sf 551)?
|
|
|

14.06.2023, 13:55
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Сообщение от tedgero
code lua:
lua:
Код:
local
sampev
=
require
(
"lib.samp.events"
)
function
sampev
.
onSendSpawn
(
)
setCharHealth
(
PLAYER_PED
,
0
)
return
false
end
function
sampev
.
onSendDeathNotification
(
)
return
false
end
как эти две функи переписать на сф (sf 551)?
хукай и нопай 53 (onSendDeathNotification) и 52 (onSendDeathNotification) RPC по гайду Юры Кода
|
|
|

19.06.2023, 01:11
|
|
Постоянный
Регистрация: 16.08.2020
Сообщений: 553
С нами:
3022568
Репутация:
68
|
|
как сделать прогу, которая ставит хук на функции загрузки библиотеки .dll и возвращает имя и название библиотеки программ которые были запущены во время работы самой проги, т.е допустим открыли игру и посыпались строчки с загрузкой библиотек, чатгпт выдает чет, но ничего не работает
C++:
[CODE]
#include
#include
#include
#include
HHOOK gHookHandle
;
LRESULT CALLBACK
HookProc
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
nCode
==
HC_ACTION
)
{
LPCSTR lpLibFileName
=
reinterpret_cast
(
lParam
)
;
char
fullPath
[
MAX_PATH
]
;
GetFullPathNameA
(
lpLibFileName
,
MAX_PATH
,
fullPath
,
nullptr
)
;
char
exePath
[
MAX_PATH
]
;
GetModuleFileNameA
(
nullptr
,
exePath
,
MAX_PATH
)
;
std
::
ofstream
logFile
(
"log.txt"
,
std
::
ofstream
::
app
)
;
logFile
|
|
|

19.06.2023, 21:28
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами:
2055431
Репутация:
3
|
|
Как можно получить указатель на RakPeer, не хукая его методы?
|
|
|

19.06.2023, 23:37
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от why ega
Как можно получить указатель на RakPeer, не хукая его методы?
RakNetInterface* - 3550
|
|
|

19.06.2023, 23:49
|
|
Флудер
Регистрация: 10.08.2017
Сообщений: 2,659
С нами:
4609424
Репутация:
183
|
|
Сообщение от kin4stat
RakNetInterface* - 3550
но ракклиент точно не брать из cnetgame, ибо его могут подменить. бери из конструктора ракклиента
|
|
|

20.06.2023, 05:49
|
|
Участник форума
Регистрация: 27.05.2021
Сообщений: 140
С нами:
2614229
Репутация:
33
|
|
Can someone help me rewrite these snippets in C++? | Может ли кто-нибудь помочь мне переписать эти фрагменты на C++?
CLEO:
Код:
:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: ID 0@
30@
=
0
IF
0AA2:
31@
=
"samp.dll"
// IF and SET
THEN
31@
+=
0x128
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5542F47A
THEN
// 0.3.7 R1
30@
=
1
END
IF
29@
==
0x59C30C94
THEN
// 0.3.7 R2
30@
=
2
END
IF
29@
==
0x5A6A3130
THEN
// 0.3.DL
30@
=
3
END
31@
-=
8
// reading samp.dll + 0x120
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5C0B4243
THEN
// 0.3.7 R3
30@
=
4
END
IF
29@
==
0x5DD606CD
THEN
// 0.3.7 R4
30@
=
5
END
IF
29@
==
0x6094ACAB
THEN
// 0.3.7 R4 - v2
30@
=
6
END
IF
29@
==
0x6372C39E
THEN
// 0.3.7 R5
30@
=
7
END
END
0AB2:
ret
1
30@
CLEO:
Код:
:GetLocalPlayerName
{
0AB1: @GetLocalPlayerName 0 _Returned: NameInIntegerFormat 31@
}
IF
0AA2:
31@
=
"samp.dll"
THEN
0AB1:
@get_samp_version_id
0
_returned: ID
17@
IF
17@
>
0
THEN
IF
17@
==
1
// 0.3.7 R1
THEN
0A8E:
30@
=
31@
+
0x21A0F8
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3CD
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x18
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13CD0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
2
// 0.3.7 R2
THEN
0A8E:
30@
=
31@
+
0x21A100
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3C5
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13D90
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
3
// 0.3.DL
THEN
0A8E:
30@
=
31@
+
0x2ACA24
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x170C0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
4
// 0.3.7 R3
THEN
0A8E:
30@
=
31@
+
0x26E8DC
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x16EF0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
5
// 0.3.7 R4
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x17560
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
6
// 0.3.7 R4 - v2
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
7
// 0.3.7 R5
THEN
0A8E:
30@
=
31@
+
0x26EB94
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
0AA8:
call_function_method
29@
struct
30@
num_params
0
pop
0
_Returned: Name
28@
/// Returned value is in integer, convert integer to string to get string...
END
END
0AB2:
ret
0
|
|
|

20.06.2023, 14:40
|
|
Познавший АНТИЧАТ
Регистрация: 18.09.2017
Сообщений: 1,044
С нами:
4553429
Репутация:
153
|
|
Сообщение от !Sam#0235
Can someone help me rewrite these snippets in C++? | Может ли кто-нибудь помочь мне переписать эти фрагменты на C++?
CLEO:
Код:
:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: ID 0@
30@
=
0
IF
0AA2:
31@
=
"samp.dll"
// IF and SET
THEN
31@
+=
0x128
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5542F47A
THEN
// 0.3.7 R1
30@
=
1
END
IF
29@
==
0x59C30C94
THEN
// 0.3.7 R2
30@
=
2
END
IF
29@
==
0x5A6A3130
THEN
// 0.3.DL
30@
=
3
END
31@
-=
8
// reading samp.dll + 0x120
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5C0B4243
THEN
// 0.3.7 R3
30@
=
4
END
IF
29@
==
0x5DD606CD
THEN
// 0.3.7 R4
30@
=
5
END
IF
29@
==
0x6094ACAB
THEN
// 0.3.7 R4 - v2
30@
=
6
END
IF
29@
==
0x6372C39E
THEN
// 0.3.7 R5
30@
=
7
END
END
0AB2:
ret
1
30@
CLEO:
Код:
:GetLocalPlayerName
{
0AB1: @GetLocalPlayerName 0 _Returned: NameInIntegerFormat 31@
}
IF
0AA2:
31@
=
"samp.dll"
THEN
0AB1:
@get_samp_version_id
0
_returned: ID
17@
IF
17@
>
0
THEN
IF
17@
==
1
// 0.3.7 R1
THEN
0A8E:
30@
=
31@
+
0x21A0F8
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3CD
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x18
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13CD0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
2
// 0.3.7 R2
THEN
0A8E:
30@
=
31@
+
0x21A100
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3C5
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13D90
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
3
// 0.3.DL
THEN
0A8E:
30@
=
31@
+
0x2ACA24
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x170C0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
4
// 0.3.7 R3
THEN
0A8E:
30@
=
31@
+
0x26E8DC
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x16EF0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
5
// 0.3.7 R4
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x17560
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
6
// 0.3.7 R4 - v2
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
7
// 0.3.7 R5
THEN
0A8E:
30@
=
31@
+
0x26EB94
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
0AA8:
call_function_method
29@
struct
30@
num_params
0
pop
0
_Returned: Name
28@
/// Returned value is in integer, convert integer to string to get string...
END
END
0AB2:
ret
0
Это не идеальный код но для примера сойдет. Другую функцию можно по аналогии сделать.
C++:
Код:
int
get_samp_version_id
(
void
)
{
DWORD version_current
=
0
;
DWORD samp_base
=
GetModuleHandle
(
"samp.dll"
)
;
if
(
samp_base
)
{
DWORD version_id
=
*
(
DWORD
*
)
(
samp_base
+
0x128
)
;
switch
(
version_id
)
{
case
0x5542F47A
:
// R1
version_current
=
1
;
break
;
case
0x59C30C94
:
// R2
version_current
=
2
;
break
;
case
0x5A6A3130
:
// DL
version_current
=
3
;
break
;
}
version_id
=
*
(
DWORD
*
)
(
samp_base
+
0x120
)
;
switch
(
version_id
)
{
case
0x5C0B4243
:
// R3
version_current
=
4
;
break
;
case
0x5DD606CD
:
// R4 - v1
version_current
=
5
;
break
;
case
0x6094ACAB
:
// R4 - v2
version_current
=
6
;
break
;
case
0x6372C39E
:
// R5
version_current
=
7
;
break
;
}
}
return
version_id
;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|