Установка и поддержка RFO сервера : Обсуждение RFO серверов, их установки, конфигурации, устранения ошибок, а также поддержке. Уголок Администратора.
01.07.2015, 14:42
#1
Продвинутый читер
OFFLINE
Регистрация: 15.04.2014
Сообщений: 241
Лаунчер для RF Online
Ув. форумчане). Прошу вашей помощи... Пишу лаунчер для рфки, на с++. Дошел до создание дефолтсет.тмп и застрял... Игра стартует, но висит на "ждите отклика сервера" и с корейским языковым пакетом... Помогите плиз.
Вот код:
Код:
if (buf[2] == 0x15 && buf[3] == 0x04) // если пришел результат авторизации
{
if ( buf[4] == 0 )
{
//Успешная авторизация
//-----------------------------
aid = "0000";
aid2 = "0000";
prf = "0000";
aid[0]=buf[5]^0xAF;
aid[1]=buf[6]^0xE0;
aid[2]=buf[7]^0x65;
aid[3]=buf[8]^0x6E;
aid2[0]=buf[5]^0x3A;
aid2[1]=buf[6]^0x18;
aid2[2]=buf[7]^0x9C;
aid2[3]=buf[8]^0xC8;
prf[0]=buf[9]^0x3A;
prf[1]=buf[10]^0x18;
prf[2]=buf[11]^0x9C;
prf[3]=buf[12]^0xC8;
Socket->SendBuf((void*)"\x08\x00\x15\x05\x38\x03\x00\x00",8);
}
else if ( buf[4] == 6 )
{
//неверен логин или пас
exit(1);
}
else
{
//тех работы
exit(1);
}
}
if (buf[2]==0x15 && buf[3]==0x06) {
Socket->SendBuf((void*)"\x06\x00\x15\x07\x00\x00",6);
}
if (buf[2] == 0x15 && buf[3] == 0x08) //если все ок и пришли ключи для записи
{
if (buf[4] != 0x00) {
ShellExecute(Handle, L"open", L"http://error.php", 0, 0, SW_SHOWNORMAL);
exit(0);
}
else
{
BYTE *ip = "0000";
ip[0]=buf[5]^0x3A;
ip[1]=buf[6]^0x4B;
ip[2]=buf[7]^0x9C;
ip[3]=buf[8]^0xCB;
BYTE *port = "00";
port[0]=buf[9]^0xB6;
port[1]=buf[10]^0x4F;
//------------------------------------------------------
BYTE *key1, *key2, *key3, *key4;
key1 = key2 = key3 = key4 = "0000";
key1[0] = buf[11]^0xE6;
key1[1] = buf[12]^0x22;
key1[2] = buf[13]^0xCF;
key1[3] = buf[14]^0xCF;
key2[0] = buf[15]^0x6F;
key2[1] = buf[16]^0xDE;
key2[2] = buf[17]^0xBC;
key2[3] = buf[18]^0x5B;
key3[0] = buf[19]^0xDA;
key3[1] = buf[20]^0x5E;
key3[2] = buf[21]^0xDF;
key3[3] = buf[22]^0xAC;
key4[0] = buf[23]^0x37;
key4[1] = buf[24]^0x1B;
key4[2] = buf[25]^0xCD;
key4[3] = buf[26]^0xBC;
//------------------------------------------------------
BYTE *snum = "00";
snum[0]=0x3A;
snum[1]=0x4B;
//------------------------------------------------------
BYTE *loc = "00"; //0xD032 руский 0xD732 поидее инглиш
loc[0]=0xD0;
loc[1]=0x32;
//******************************************************
AnsiString elogin = login;
FILE *f = fopen(".\\System\\DefaultSet.tmp","w+b");
fwrite(ip, 4, 1, f);
fwrite(port, 2, 1, f);
fwrite((void *)elogin.c_str(), 13, 1, f);
fwrite(aid, 4, 1, f);
fwrite(key1, 4, 1, f);
fwrite(key2, 4, 1, f);
fwrite(key3, 4, 1, f);
fwrite(key4, 4, 1, f);
fwrite(snum, 2, 1, f);
fwrite(aid2, 4, 1, f);
fwrite(prf, 4, 1, f);
//fwrite(con1, 4, 1, f);
//fwrite(con2, 4, 1, f);
fwrite(loc, 2, 1, f);
fclose(f);
WinExec(".\\RF_Online.bin", SW_SHOWNORMAL);
*** в переменной buf хранится ответ от логин сервера
Файл составлял по вот этой таблице:
Код:
DefaultSet.tmp crypt
|=======================|=======================|
|Xorkey | CPPSYNTAX | name | size | pos |
|=========|=============|=======|=======|=======|
|CB9C4B3A | 0xCB9C4B3A | ip | 4 | 0 |
|4FB6 | 0x4FB6 | port | 2 | 4 |
|none | 0x00 | Login | 13 | 6 |
|6E65E0AF | 0x6E65E0AF | accid | 4 | 19 |
|CFCF22E6 | 0xCFCF22E6 | key1 | 4 | 21 |
|5BBCDE6F | 0x5BBCDE6F | key2 | 4 | 25 |
|ACDF5EDA | 0xACDF5EDA | key3 | 4 | 29 |
|BCCD1B37 | 0xBCCD1B37 | key4 | 4 | 33 |
|4B3A | 0x4B3A | unk0 | 2 | 37 |//gig3-2.1.5
|C89C183A | 0xC89C183A | accid | 4 | 41 |
|C89C183A | 0xC89C183A | unk1 | 4 | 45 |//2.1.6+
|C89C183A | 0xC89C183A | unk2 | 4 | 49 |
|3B289CD2 | 0x3B289CD2 | unk3 | 4 | 53 |//2.2.3+
|32D7 | 0x32D7 | locale| 2 | 55 |
|===============================================|
Последний раз редактировалось primerb; 01.07.2015 в 21:56 .
Причина: Добавлено сообщение
01.07.2015, 14:46
#2
Крестный отец всех читеров
OFFLINE
Регистрация: 02.04.2008
Сообщений: 4,061
Благодарностей:
37,857 всего
уже сто раз тут это обсуждали. еще один ёпт
Никогда нет причин для печали.
01.07.2015, 14:52
#3
Продвинутый читер
OFFLINE
Регистрация: 15.04.2014
Сообщений: 241
Покажи мне хоть одно обсуждение этого вопроса
01.07.2015, 15:16
#4
Эксперт
OFFLINE
Регистрация: 12.10.2011
Возраст: 31
Сообщений: 1,136
Благодарностей:
873 всего
Последний раз редактировалось [S]tan; 01.07.2015 в 15:24 .
Просто божественная надпись
Цитата:
Сообщение от
dark
[S]tan +100500 постов
(\__/)
(=';'=)
(")_(")
TheStan[ABC]
Для выражения благодарности, есть кнопка "спасибо"
01.07.2015, 15:34
#5
Продвинутый читер
OFFLINE
Регистрация: 15.04.2014
Сообщений: 241
Это все я сделал. В первом посте я отписал - проблема в создании дефолт сета и предоставил код, в надежде что найдет ся человек, который его прочитает.. но походу не то что код, людям лень прочитать просто содержание поста...
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.