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

  #1451  
Старый 12.06.2016, 18:24
Frixen
Участник форума
Регистрация: 21.06.2013
Сообщений: 131
С нами: 6785172

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

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

Код
C++:





Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
// определение callback-функции которая будет вызвана при отправке какого либо пакета
{
if
(
params
->
packetId
==
RPCEnumeration
::
RPC_Chat
)
// если отправляемый пакет ID_PLAYER_SYNC
{
WORD id
;
DWORD length
;
char
message
[
248
]
;
byte packet
;
char
buf
[
248
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
// на всякий случай устанавливаем оффсет чтения на начало
params
->
bitStream
->
Read
(
length
)
;
params
->
bitStream
->
Read
(
message
,
length
)
;
params
->
bitStream
->
ResetReadPointer
(
)
;
// обнуляем оффсет чтения
sprintf_s
(
buf
,
"{B9C91F}%s"
,
message
)
;
params
->
bitStream
->
ResetWritePointer
(
)
;
params
->
bitStream
->
Write
(
length
)
;
params
->
bitStream
->
Write
(
buf
,
length
)
;
params
->
bitStream
->
ResetWritePointer
(
)
;
}
;
return
true
;
// успешно завершаем отправку пакета
}
;
 
Ответить с цитированием

  #1452  
Старый 12.06.2016, 18:40
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

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

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

C++:





Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
// определение callback-функции которая будет вызвана при отправке какого либо пакета
{
if
(
params
->
packetId
==
RPCEnumeration
::
RPC_Chat
)
// если отправляемый пакет ID_PLAYER_SYNC
{
WORD id
;
DWORD length
;
char
message
[
248
]
;
byte packet
;
char
buf
[
248
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
// на всякий случай устанавливаем оффсет чтения на начало
params
->
bitStream
->
Read
(
length
)
;
params
->
bitStream
->
Read
(
message
,
length
)
;
params
->
bitStream
->
ResetReadPointer
(
)
;
// обнуляем оффсет чтения
sprintf_s
(
buf
,
"{B9C91F}%s"
,
message
)
;
params
->
bitStream
->
ResetWritePointer
(
)
;
params
->
bitStream
->
Write
(
length
)
;
params
->
bitStream
->
Write
(
buf
,
length
)
;
params
->
bitStream
->
ResetWritePointer
(
)
;
}
;
return
true
;
// успешно завершаем отправку пакета
}
;

Тебе же вроде надо RPC_ScrClientMessage хукать? В нём на 1 месте цвет, и дальше как у тебя
 
Ответить с цитированием

  #1453  
Старый 12.06.2016, 18:44
Frixen
Участник форума
Регистрация: 21.06.2013
Сообщений: 131
С нами: 6785172

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

Цитата:
Сообщение от Woofing Giraffe  

Тебе же вроде надо RPC_ScrClientMessage хукать? В нём на 1 месте цвет, и дальше как у тебя
в этом rpc нету сообщений игроков, только серверные типо бан админа и тд
 
Ответить с цитированием

  #1454  
Старый 12.06.2016, 19:10
itsLegend
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами: 6915558

Репутация: 183


По умолчанию

Так, во-первых - ты структуру не знаешь и пытаешься наугад что-то склепать. Смотри по логам RakLogger'а.

Во-вторых - ты добавил HEX-цвет в строку(8 символов), а записываешь длину исходной строки, а не новой.

[S]В-третьих - params->bitStream->ResetWritePointer(); очистит весь битстрим и переместит указатель на его начало.[/S]
 
Ответить с цитированием

  #1455  
Старый 12.06.2016, 19:53
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Допустим есть стуктура TrailerData и последние два элемента _unknown. Их можно стереть? Будет работать?
 
Ответить с цитированием

  #1456  
Старый 12.06.2016, 20:02
itsLegend
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами: 6915558

Репутация: 183


По умолчанию

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

Допустим есть стуктура TrailerData и последние два элемента _unknown. Их можно стереть? Будет работать?
Они просто не описаны.
 
Ответить с цитированием

  #1457  
Старый 12.06.2016, 21:15
FYP
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами: 6935121

Репутация: 233


По умолчанию

Цитата:
Сообщение от Woofing Giraffe  

Такая херня при любом коде. Даже при таком: http://pastebin.com/nhNyp950
а версия студии какая?
 
Ответить с цитированием

  #1458  
Старый 12.06.2016, 21:21
Frixen
Участник форума
Регистрация: 21.06.2013
Сообщений: 131
С нами: 6785172

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

FYP, можешь мне помочь с кодом выше?
 
Ответить с цитированием

  #1459  
Старый 13.06.2016, 01:51
san0
Постоянный
Регистрация: 15.12.2013
Сообщений: 412
С нами: 6530249

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

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

FYP, можешь мне помочь с кодом выше?
ты заебал

Цитата:
Сообщение от Спойлер  


Код:





Код:
bool CALLBACK incomingRPC(stRakNetHookParams *params)
{
    if (params->packetId == RPCEnumeration::RPC_Chat)
    {
        uint16_t id;
        uint8_t len;
        char msg[128];

        params->bitStream->ResetReadPointer();
        params->bitStream->Read(id);
        params->bitStream->Read(len);
        params->bitStream->Read(msg, len);
        params->bitStream->ResetReadPointer();
        msg[len] = '\0';

        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 255), "{B9C91F}%s: {FFFFFF}%s",
            SF->getSAMP()->getPlayers()->GetPlayerName(id), msg);

        return false;
    }
    return true;
};


 
Ответить с цитированием

  #1460  
Старый 13.06.2016, 15:00
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Подскажите как установить хук на game destructor? На какой адрес ставить? И в какую игровую функцию можно влепить свою функцию loop?
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

×

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

Сумма USDT:

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

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