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

  #1171  
Старый 29.09.2016, 16:44
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

ты понимаешь что это EXE приложение?
То что ты сказал, что vPos тоже не правильно , оно правильно 100%
Я то как раз понимаю. И размер 12 байт у CVector, а не 4.
 
Ответить с цитированием

  #1172  
Старый 29.09.2016, 16:51
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

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

Я то как раз понимаю. И размер 12 байт у CVector, а не 4.
Вот можно сказать в чем трабл и был. Размер не знал что изменять надо ) . Благодарю
 
Ответить с цитированием

  #1173  
Старый 30.09.2016, 12:43
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Как адресс игры получить?
 
Ответить с цитированием

  #1174  
Старый 30.09.2016, 13:52
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

Как адресс игры получить?
OpenProcess
 
Ответить с цитированием

  #1175  
Старый 05.10.2016, 00:28
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

C++:





[CODE]
char
Hostname
(
)
{
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
(
SAMPDLLBASE
+
0x21A0F8
)
,
(
LPVOID
)
&
Out
,
sizeof
(
Out
)
,
NULL
)
;
char
ServerString
[
128
]
;
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
(
Out
+
0x121
)
,
&
ServerString
,
128
,
NULL
)
;
cout



В отдельности читает все отлично , но хочу сделать это функцией , что бы вызывать , например вот так :

C++:





Код:
printf
(
"%s"
,
Hostname
(
)
)
;


Но бьет ошибку.

Думаю это из за того что я как то не так возвращаю ServerString , подскажите пж.

Код:





Код:
Вызвано исключение по адресу 0x6D6D2E47 (ucrtbase.dll) в API.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFFFFFFD8.

Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно.
 
Ответить с цитированием

  #1176  
Старый 05.10.2016, 00:36
DarkP1xel
Флудер
Регистрация: 17.06.2013
Сообщений: 3,635
С нами: 6791977

Репутация: 183


По умолчанию

указатель возвращай
 
Ответить с цитированием

  #1177  
Старый 05.10.2016, 00:40
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

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

хочу сделать это функцией
C++:





[CODE]
std
::
string
Hostname
(
)
{
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
(
SAMPDLLBASE
+
0x21A0F8
)
,
(
LPVOID
)
&
Out
,
sizeof
(
Out
)
,
NULL
)
;
char
ServerString
[
128
]
;
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
(
Out
+
0x121
)
,
&
ServerString
,
128
,
NULL
)
;
cout



Вывод: cout
 
Ответить с цитированием

  #1178  
Старый 05.10.2016, 01:07
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

[QUOTE="SR_team"]

C++:





[CODE]
std
::
string
Hostname
(
)
{
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
(
SAMPDLLBASE
+
0x21A0F8
)
,
(
LPVOID
)
&
Out
,
sizeof
(
Out
)
,
NULL
)
;
char
ServerString
[
128
]
;
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
(
Out
+
0x121
)
,
&
ServerString
,
128
,
NULL
)
;
cout
 
Ответить с цитированием

  #1179  
Старый 07.10.2016, 03:45
barspinoff
Участник форума
Регистрация: 14.06.2015
Сообщений: 126
С нами: 5744580

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

Подскажите, как получить никнейм игрока при RPC_ClientJoin.
 
Ответить с цитированием

  #1180  
Старый 07.10.2016, 09:57
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

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

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

Подскажите, как получить никнейм игрока при RPC_ClientJoin.
Код:





Код:
Пример перехвата входящего (пришедшего от сервера) RPC_ScrServerJoin:

bool CALLBACK incomingRPC( stRakNetHookParams *params ) // определение callback-функции, которая будет вызвана, если от сервера был получен новый RPC.
{
    if( params->packetId == ScriptRPCEnumeration::RPC_ScrServerJoin ) // если это RPC_ScrServerJoin
    {
        short int sPlayerID;   
        D3DCOLOR D3DPlayerColor;
        byte isNPC, nameLen;
        char szPlayerName[25];
        params->bitStream->ResetReadPointer(); // обнуляем оффсет чтения.
        params->bitStream->Read( sPlayerID ); // читаем ID игрока.
        params->bitStream->Read( D3DPlayerColor ); // цвет ника игрока.
        params->bitStream->Read( isNPC ); // флаг, говорящий о том, NPC это или нет.
        params->bitStream->Read( nameLen ); // длина ника.
        params->bitStream->Read( szPlayerName, nameLen ); // ник.
        szPlayerName[ nameLen ]= '\0'; // обрезаем, чтоб не было мусора
        params->bitStream->ResetReadPointer(); // обнуляем оффсет чтения
        SF->getSAMP()->getChat()->AddChatMessage( D3DPlayerColor, "%s[%d] Подключился к серверу.",
            szPlayerName, sPlayerID ); // добавляем сообщение в чат.           
    };
    return true; // успешно завершаем обработку RPC.
};
SF->getRakNet()->registerRakNetCallback( RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC ); // регистрируем callback
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.