Показать сообщение отдельно

  #5950  
Старый 19.03.2022, 17:08
legendabrn
Участник форума
Регистрация: 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
;
 
Ответить с цитированием