
19.03.2022, 17:08
|
|
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами:
3781678
Репутация:
113
|
|
Сообщение от writeline
С++:
Код:
#include "pch.h"
#include "string"
std
::
string chatSAMP
{
"SAMP 0.3.7 R1"
}
;
class
patchChatSAMP
{
public
:
patchChatSAMP
(
)
{
*
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
+
0xB7C5
)
=
&
chatSAMP
;
}
}
pChatSAMP
;
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
Всё равно не хочет работать 😒
C++:
Код:
#include "pch.h"
#include
std
::
string chatSAMP
{
"SAMP 0.3.7 R1"
}
;
class
patchChatSAMP
{
private
:
uintptr_t module_samp
{
0
}
;
public
:
patchChatSAMP
(
)
{
module_samp
=
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
;
DWORD lpflOldProtect
;
VirtualProtect
(
reinterpret_cast
(
module_samp
+
0xB7C5
)
,
0x4
,
PAGE_EXECUTE_READWRITE
,
&
lpflOldProtect
)
;
*
reinterpret_cast
(
module_samp
+
0xB7C5
)
=
&
chatSAMP
;
VirtualProtect
(
reinterpret_cast
(
module_samp
+
0xB7C5
)
,
0x4
,
lpflOldProtect
,
&
lpflOldProtect
)
;
}
}
pChatSAMP
;
upd, правильный вариант:
C++:
Код:
#include "pch.h"
#include
std
::
string chatSAMP
{
"SAMP 0.3.7 R1"
}
;
class
patchChatSAMP
{
private
:
uintptr_t module_samp
{
0
}
;
public
:
patchChatSAMP
(
)
{
module_samp
=
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
;
DWORD lpflOldProtect
;
VirtualProtect
(
reinterpret_cast
(
module_samp
+
0xB7C5
)
,
0x4
,
PAGE_EXECUTE_READWRITE
,
&
lpflOldProtect
)
;
*
reinterpret_cast
(
module_samp
+
0xB7C5
)
=
&
chatSAMP
[
0
]
;
VirtualProtect
(
reinterpret_cast
(
module_samp
+
0xB7C5
)
,
0x4
,
lpflOldProtect
,
&
lpflOldProtect
)
;
}
}
pChatSAMP
;
|
|
|