HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4571  
Старый 16.07.2020, 20:07
reseller
Познающий
Регистрация: 12.11.2019
Сообщений: 33
С нами: 3422638

Репутация: 8
По умолчанию

в чем трабл а

1594915674293.pngreseller · 16 Июл 2020 в 19:07' data-fancybox="lb-post-530084" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/62635/" style="cursor: pointer;" title="1594915674293.png">
 
Ответить с цитированием

  #4572  
Старый 16.07.2020, 20:13
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

А где трабл и где код?
 
Ответить с цитированием

  #4573  
Старый 17.07.2020, 00:38
MaksQ
Постоянный
Регистрация: 07.03.2019
Сообщений: 966
С нами: 3782655

Репутация: 148


По умолчанию

как взорвать машину в который ты сидишь? только не через SetHealth(0)
 
Ответить с цитированием

  #4574  
Старый 17.07.2020, 01:17
imring
Флудер
Регистрация: 03.08.2016
Сообщений: 2,363
С нами: 5145387

Репутация: 183


По умолчанию

Цитата:
Сообщение от MaksQ  

как взорвать машину в который ты сидишь? только не через SetHealth(0)
уточнить игру? ну раз уж это форум, где в основном обитают самперы, то: https://github.com/DK22Pac/plugin-sd...Vehicle.h#L360
 
Ответить с цитированием

  #4575  
Старый 17.07.2020, 02:24
Musaigen
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами: 4272230

Репутация: 183


По умолчанию

Цитата:
Сообщение от KiN4StAt  

Назрело у меня пару вопросов
Первое:
Структура SAMP R3 Выглядит следующим образом:
Цитата:
Сообщение от Спойлер  


Каким образом в ulPort попадает порт, у которого оффсет 1388?

Второе:
Как на хукнутом RakClientInterface реализовать перехват входящих RPC как в s0beit'е. Т.е. условно если сервер пытается сетнуть мне хп, у меня в чат вывелось, что сервер мне пытается поставить мне хп. Или например нопить входящие RPC.

Третье:
Почему-то при вызове addChatMessage в основном потоке, работает, а при вызове этой же функции в где-нибудь в другом месте крашит.

Потоки:





Код:
void
test
(
char
*
szParams
)
{
pSAMP
->
addMessageToChat
(
0xFFFFFFFF
,
"addMessageToChat causes exception in gta_sa.exe(samp.dll)"
)
;
}
void
mainThread
(
void
*
pvParams
)
{
if
(
pSAMP
)
{
while
(
!
pSAMP
->
tryInit
(
)
)
{
Sleep
(
100
)
;
}
pSAMP
->
addMessageToChat
(
0xFFFFFFFF
,
"addMessageToChatWorks here!"
)
;
pSAMP
->
addClientCommand
(
"test"
,
test
)
;
}
}


addMessageToChat:





Код:
void
SAMPFramework
::
addMessageToChat
(
D3DCOLOR cColor
,
const
char
*
szMsg
,
.
.
.
)
{
if
(
g_Chat
==
nullptr
)
return
;
void
(
__thiscall
*
AddToChatWindowBuffer
)
(
const
void
*
_this
,
int
iType
,
char
*
szText
,
char
*
szPrefix
,
DWORD cColor
,
DWORD cPrefixColor
)
=
(
void
(
__thiscall
*
)
(
const
void
*
,
int
,
char
*
,
char
*
,
DWORD
,
DWORD
)
)
(
dwSAMPAddr
+
SAMP_FUNC_ADDTOCHATWND
)
;
if
(
szMsg
==
NULL
)
return
;
va_list ap
;
char
tmp
[
512
]
;
memset
(
tmp
,
0
,
512
)
;
va_start
(
ap
,
szMsg
)
;
vsnprintf
(
tmp
,
sizeof
(
tmp
)
-
1
,
szMsg
,
ap
)
;
va_end
(
ap
)
;
return
AddToChatWindowBuffer
(
(
void
*
)
g_Chat
,
8
,
tmp
,
NULL
,
cColor
,
0x00
)
;
}


Само исключение:

Код:
Вызвано исключение по адресу 0x0A279392 (samp.dll) в gta_sa.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000007.
Стек вызовов пустой
1. Переведи 1388 в шестнадцатиричную систему.

2. Используй VMT Hook Manager.

3. Попробуй.

C++:





Код:
void
/*CChat::AddEntry*/
AddEntry
(
DWORD color
,
const
char
*
text
,
.
.
.
)
{
char
buf
[
128
]
{
0
}
;
va_list args
;
va_start
(
args
,
text
)
;
vsprintf_s
(
buf
,
text
,
args
)
;
va_end
(
args
)
;
// Адреса 100% действительны для 0.3.7-R1
reinterpret_cast

(
/*(DWORD)GetModuleHandle("samp.dll")*/
g_dwSAMPBase
+
0x63850
)
(
g_Chat
,
buf
)
;
reinterpret_cast

(
g_dwSAMPBase
+
0x64010
)
(
g_Chat
,
8
,
buf
,
nullptr
,
color
,
0
)
;
}
 
Ответить с цитированием

  #4576  
Старый 17.07.2020, 02:31
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от Musaigen  

1. Переведи 1388 в шестнадцатиричную систему.
2. Используй VMT Hook Manager.
3. Попробуй.

C++:





Код:
void
/*CChat::AddEntry*/
AddEntry
(
DWORD color
,
const
char
*
text
,
.
.
.
)
{
char
buf
[
128
]
{
0
}
;
va_list args
;
va_start
(
args
,
text
)
;
vsprintf_s
(
buf
,
text
,
args
)
;
va_end
(
args
)
;
// Адресса 100% действительны для 0.3.7-R1
reinterpret_cast

(
/*(DWORD)GetModuleHandle("samp.dll")*/
g_dwSAMPBase
+
0x63850
)
(
g_Chat
,
buf
)
;
reinterpret_cast

(
g_dwSAMPBase
+
0x64010
)
(
g_Chat
,
8
,
buf
,
nullptr
,
color
,
0
)
;
}

1. разобрался(1388 уже в 16-ричной был)

2. Не понял тебя. У меня есть хукнутый RakClient как в собейте. Меня интересует как в нем ловить входящие RPC.

3. Пофиксил. Взял Функцию из SAMP-API от LUCHARE
 
Ответить с цитированием

  #4577  
Старый 17.07.2020, 02:49
Musaigen
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами: 4272230

Репутация: 183


По умолчанию

Цитата:
Сообщение от KiN4StAt  

1. разобрался(1388 уже в 16-ричной был)
2. Не понял тебя. У меня есть хукнутый RakClient как в собейте. Меня интересует как в нем ловить входящие RPC.
3. Пофиксил. Взял Функцию из SAMP-API от LUCHARE
Хуки. RakClient не передаёт функцию, где принимаются входящие RPC. Хуки в конце файла samp.cpp.
 
Ответить с цитированием

  #4578  
Старый 17.07.2020, 02:51
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Так, ладно еще один вопрос. Как мне в ImGui вывести название сервера если оно не UTF-8, а хранится оно в char[257]

(в названии есть русские символы. шрифт подгрузил)
 
Ответить с цитированием

  #4579  
Старый 17.07.2020, 12:55
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

cp1251 преобразовать в utf8
 
Ответить с цитированием

  #4580  
Старый 17.07.2020, 14:06
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от Dark_Knight  

cp1251 преобразовать в utf8
А как без костылей это можно сделать, и по нормальному? Как я не пытался, не работает
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.