
07.01.2023, 19:09
|
|
Новичок
Регистрация: 02.01.2023
Сообщений: 5
С нами:
1771779
Репутация:
3
|
|
Вопрос:
Load Runtime
Failed to load "cef/vccorlib140.dll" 7e
Can't load Runtime
Это строка из гэймлога в лаунчере аризоны. Это хрень связана с Microsoft Visual C++ как мне говорят технари аризоны. Я уже их 100 раз скачивал и ничего. Кто то смог решить? Из-за нее проблемы с cef.
|
|
|

12.01.2023, 18:54
|
|
Новичок
Регистрация: 08.10.2022
Сообщений: 10
С нами:
1895177
Репутация:
3
|
|
Я решил сделать чит для samp или crmp mobile и столкнулся с такой проблемой, я могу сделать имгуи для чита и вшить его, но не понимаю как писать сам функционал, к примеру я видел что в сурсах sampmodmobile или каких то других есть код с функционалом телепорт, rpc и тд, но это все сделано на libsamp.so, а я делаю на отдельной либке, и вопрос такой как сделать функционал по типу того же rpc и тд на отдельной либке и использовать его на проектах (крупных, по типу бр, орп и тд), может как то можно ее подключать к либ(типо либку самп к моей имею ввиду) или же есть какой то samp api для мобилки?
|
|
|

18.01.2023, 07:06
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Решил немного залезть в реверс.
Открыл иду и в неё кинул samp.dll.
Решил пропатчить строку от сампа, нашёл её адрес в IDA (наверное), пытаюсь пропатчить, но, она не патчится. То есть, текст там изменить хочу, но, он не изменяется.
1674010999189.pngYuriy Code · 18 Янв 2023 в 06:06' data-fancybox="lb-post-1239293" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/186387/" style="cursor: pointer;" title="1674010999189.png">
C++:
Код:
SF
->
getSAMP
(
)
->
registerChatCommand
(
"patch"
,
[
]
(
std
::
string params
)
{
strcpy
(
(
char
*
)
0x100D3A78
,
"SWWWWW CCCCCC the connection."
)
;
AddChat
(
-
1
,
"Наверное, пропатчилось..."
)
;
}
)
;

|
|
|

18.01.2023, 07:22
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от Yuriy Code
Решил немного залезть в реверс.
Открыл иду и в неё кинул samp.dll.
Решил пропатчить строку от сампа, нашёл её адрес в IDA (наверное), пытаюсь пропатчить, но, она не патчится. То есть, текст там изменить хочу, но, он не изменяется.
C++:
Код:
SF
->
getSAMP
(
)
->
registerChatCommand
(
"patch"
,
[
]
(
std
::
string params
)
{
strcpy
(
(
char
*
)
0x100D3A78
,
"SWWWWW CCCCCC the connection."
)
;
AddChat
(
-
1
,
"Наверное, пропатчилось..."
)
;
}
)
;
Адрес должен быть не 0x100D3A78, а 0xD3DA78, и ты не добавил GetModuleHandleA("samp.dll") к адресу. Так что игра думает что ты обращаешься к памяти ГТА, а не сампа.
Вот патч как по мне правильный( мб ***ню сморозил )
C++:
Код:
// Функция для записи строки в память ( Автор вроде Скаут )
inline
void
writeString
(
char
*
memory
,
const
char
*
str
)
{
DWORD NewProtection
;
VirtualProtect
(
memory
,
sizeof
(
str
)
,
PAGE_EXECUTE_READWRITE
,
&
NewProtection
)
;
std
::
strcpy
(
memory
,
str
)
;
VirtualProtect
(
memory
,
sizeof
(
str
)
,
NewProtection
,
&
NewProtection
)
;
}
// Сам патч
writeString
(
(
char
*
)
GetModuleHandleA
(
"samp"
)
+
0xD3A78
,
"Сервер сдох на***"
)
Кстати при записи строк в память ( и вообще записи чего либо в память ) смотри не залезь на байты которые ты менять не должен ( к примеру в строке 5 символов, а ты записал 20, тем самым ты запишешь лишних 14 байтов в память которая вообще может не быть строкой )
|
|
|

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} Сервер закрыл соединение." };
|
|
|

18.01.2023, 08:11
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Как найти функцию через IDA? К примеру, добавления сообщения в чат.
Пытаюсь, но, увы, не получается.
Прошу объяснить пошагово.
Открыл в IDA samp.dll, пытался по строкам найти функцию.

|
|
|

18.01.2023, 08:51
|
|
Познавший АНТИЧАТ
Регистрация: 14.07.2019
Сообщений: 1,097
С нами:
3596877
Репутация:
183
|
|
Сообщение от Yuriy Code
Как найти функцию через IDA? К примеру, добавления сообщения в чат.
Пытаюсь, но, увы, не получается.
Прошу объяснить пошагово.
Открыл в IDA samp.dll, пытался по строкам найти функцию.
|
|
|

18.01.2023, 08:59
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Мне надо не переменную найти, а функцию! 😕
|
|
|

18.01.2023, 09:18
|
|
Познавший АНТИЧАТ
Регистрация: 14.07.2019
Сообщений: 1,097
С нами:
3596877
Репутация:
183
|
|
Сообщение от Yuriy Code
Мне надо не переменную найти, а функцию! 😕
В самп апи все есть
|
|
|

18.01.2023, 17:42
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от Yuriy Code
Как найти функцию через IDA? К примеру, добавления сообщения в чат.
Пытаюсь, но, увы, не получается.
Прошу объяснить пошагово.
Открыл в IDA samp.dll, пытался по строкам найти функцию.
Вот тут можешь увидеть вот эту строчку:
Это вызов функции 64520. В неё передается два параметра: Указатель на структуру чата, и сообщение ( Эта функция в САМП'е отвечает за отправление в чат сообщений по типу "Connecting to 185.189.15.89:7228...", "The server is full. Retrying"). Цвет ты тут указать не можешь, ибо функция берет цвет из структуры CChat.
Цвет у тебя будет такой:
Ну, или если у тебя замененный samp.dll то цвет может отличаться.
Если ты хочешь указывать цвет сам - тебе нужна функция CChat_AddMessage. В R1 её смещение 645A0. Принимает агрументы в таком порядке:
C++:
Код:
(
CChat
*
this_
,
int
color
,
const
char
*
text
)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|