
19.01.2023, 14:22
|
|
Новичок
Регистрация: 16.01.2022
Сообщений: 28
С нами:
2276608
Репутация:
8
|
|
Сообщение от Yuriy Code
Решил немного залезть в реверс.
Открыл иду и в неё кинул samp.dll.
Решил пропатчить строку от сампа, нашёл её адрес в IDA (наверное), пытаюсь пропатчить, но, она не патчится. То есть, текст там изменить хочу, но, он не изменяется.
C++:
Код:
SF
->
getSAMP
(
)
->
registerChatCommand
(
"patch"
,
[
]
(
std
::
string params
)
{
strcpy
(
(
char
*
)
0x100D3A78
,
"SWWWWW CCCCCC the connection."
)
;
AddChat
(
-
1
,
"Наверное, пропатчилось..."
)
;
}
)
;
C++ R3:
Код:
std
::
string str_kicked
{
"Сервер закрыл соединение."
}
;
//0x8A77
class
patchstr_kicked
{
private
:
uintptr_t module_samp
{
0
}
;
public
:
patchstr_kicked
(
)
{
module_samp
=
reinterpret_cast
(
GetModuleHandleA
(
"samp.dll"
)
)
;
DWORD lpflOldProtect
;
VirtualProtect
(
reinterpret_cast
(
module_samp
+
0x8A77
)
,
0x4
,
PAGE_EXECUTE_READWRITE
,
&
lpflOldProtect
)
;
*
reinterpret_cast
(
module_samp
+
0x8A77
)
=
&
str_kicked
[
0
]
;
VirtualProtect
(
reinterpret_cast
(
module_samp
+
0x8A77
)
,
0x4
,
lpflOldProtect
,
&
lpflOldProtect
)
;
}
}
pstr_kicked
;
Цвет можешь указывать вот так:
С++:
Код:
std::string str_kicked{ " {ff0000} Сервер закрыл соединение." };
Либо
С++:
Код:
std::string str_kicked{ " {red} Сервер закрыл соединение." };
|
|
|