Просмотр полной версии : Бот )
В общем решил начать писать свою чудо. Средства разработки QT + C++. Пока научил коннектиться к аутху и прикрутил библиотеку блоуфиш (тут кто-то на дельфи выкладывал, я её адаптировал под плюсы), собственно вопрос, что и в какой последовательности надо делать, чтобы собрать необходимый пакет.
У нас есть а) размер пакета б) id пакета в) логин г) пароль д) чексумма е) блоуфиш.
Огромная просьба к манам и джаве не отсылать, я уже потратил пару часов, но результата пока нет, а здесь есть как минимум несколько людей, которые на этот вопрос ответ знают, а как вы все наверное знаете - главное начать, а дальше будет много проще.
В общем решил начать писать свою чудо. Средства разработки QT + C++. Пока научил коннектиться к аутху и прикрутил библиотеку блоуфиш (тут кто-то на дельфи выкладывал, я её адаптировал под плюсы), собственно вопрос, что и в какой последовательности надо делать, чтобы собрать необходимый пакет.
У нас есть а) размер пакета б) id пакета в) логин г) пароль д) чексумма е) блоуфиш.
Огромная просьба к манам и джаве не отсылать, я уже потратил пару часов, но результата пока нет, а здесь есть как минимум несколько людей, которые на этот вопрос ответ знают, а как вы все наверное знаете - главное начать, а дальше будет много проще.
DeuX, дай плз исходники, если не жалко.)
DeuX, дай плз исходники, если не жалко.)
Под какой сервер планируется бот?
Под какой сервер планируется бот?
[тут была запостена нерабочая версия БФ, как оттестю текущую - выложу )]
[тут была запостена нерабочая версия БФ, как оттестю текущую - выложу )]
Пока под обычный стандартный С4
Скучно и не интересно :)
Дам пока блоуфиш
Та его в инете найти не реально
Пока под обычный стандартный С4
Скучно и не интересно :)
Дам пока блоуфиш
Та его в инете найти не реально
Скучно нескучно, а мне в академичексих целях - самое то)
Лучше бы ответил на имхо простой вопрос, если знаешь как)
Скучно нескучно, а мне в академичексих целях - самое то)
Лучше бы ответил на имхо простой вопрос, если знаешь как)
http://allcheats.ru/t50178/ (http://allcheats.ru/t50178/)
а тут какашонок хейд снял )
viewtopic.php?f=7&t=228 (http://forum.coderx.ru/viewtopic.php?f=7&t=228)
http://allcheats.ru/t50178/ (http://allcheats.ru/t50178/)
а тут какашонок хейд снял )
viewtopic.php?f=7&t=228 (http://forum.coderx.ru/viewtopic.php?f=7&t=228)
Огромное спасибо, что искал - нашёл. Теперь осталось всё это дело аккуратно перенести и потестить.
Добавлено спустя 1 день 55 минут 25 секунд:
Ла2 юзает какой-то нестандартный блоуфиш?
Я коннекчусь на стандартный аутх С4 (крутиться у меня же на 127.0.0.1) с ключом "_;5.]94-31==-%xT!^[$", вылавливаю пакет сниффером:
... 3200 54DA 4B36 1F1E DE62 ... (размер пакета + первые 8 байт), пытаюсь расшифровать пхпшным блоуфишем (мой сишный с ним совпадает)
54DA4B361F1EDE62 вот эту последовательность
<?php
require_once("Crypt/Blowfish.php");
$bf = new Crypt_Blowfish("_;5.]94-31==-%xT!^[$");
$str = chr(0x54).chr(0xDA).chr(0x4B).chr(0x36).chr(0x1F). chr(0x1E).chr(0xDE).chr(0x62);
$str = $bf->decrypt ($str);
echo $str;
?>
Получаю ну совсем не то (должно получиццо 0deuxdeu), а получаеццо "У.ъ”ђЗ—)"
Предположим, что последовательность другая (младший-старший байт, а не старший-младший как было реализовано в предыдущем варианте), тогда
<?php
require_once("Crypt/Blowfish.php");
$bf = new Crypt_Blowfish("_;5.]94-31==-%xT!^[$");
$str = chr(0xDA).chr(0x54).chr(0x36).chr(0x4B).chr(0x1E). chr(0x1F).chr(0x62).chr(0xDE);
$str = $bf->decrypt ($str);
echo $str;
?>
И всё равно результат не тот.... "p¤Зкщ°*~"
Что не так?) И просьба - расшифруйте, пожалуйста, эти 8 байт Вашими средствами и сравните.
Огромное спасибо, что искал - нашёл. Теперь осталось всё это дело аккуратно перенести и потестить.
Добавлено спустя 1 день 55 минут 25 секунд:
Ла2 юзает какой-то нестандартный блоуфиш?
Я коннекчусь на стандартный аутх С4 (крутиться у меня же на 127.0.0.1) с ключом "_;5.]94-31==-%xT!^[$", вылавливаю пакет сниффером:
... 3200 54DA 4B36 1F1E DE62 ... (размер пакета + первые 8 байт), пытаюсь расшифровать пхпшным блоуфишем (мой сишный с ним совпадает)
54DA4B361F1EDE62 вот эту последовательность
<?php
require_once("Crypt/Blowfish.php");
$bf = new Crypt_Blowfish("_;5.]94-31==-%xT!^[$");
$str = chr(0x54).chr(0xDA).chr(0x4B).chr(0x36).chr(0x1F). chr(0x1E).chr(0xDE).chr(0x62);
$str = $bf->decrypt ($str);
echo $str;
?>
Получаю ну совсем не то (должно получиццо 0deuxdeu), а получаеццо "У.ъ”ђЗ—)"
Предположим, что последовательность другая (младший-старший байт, а не старший-младший как было реализовано в предыдущем варианте), тогда
<?php
require_once("Crypt/Blowfish.php");
$bf = new Crypt_Blowfish("_;5.]94-31==-%xT!^[$");
$str = chr(0xDA).chr(0x54).chr(0x36).chr(0x4B).chr(0x1E). chr(0x1F).chr(0x62).chr(0xDE);
$str = $bf->decrypt ($str);
echo $str;
?>
И всё равно результат не тот.... "p¤Зкщ°*~"
Что не так?) И просьба - расшифруйте, пожалуйста, эти 8 байт Вашими средствами и сравните.
DeuX, в PHP нет нормального Blowfish из за того что он при переполнении 4х байтового целого числа просто превращает его в 8мибайтовое), сам над этим всю голову сломал, но под PHP ненашел ниодной нормальной реализации...
DeuX, в PHP нет нормального Blowfish из за того что он при переполнении 4х байтового целого числа просто превращает его в 8мибайтовое), сам над этим всю голову сломал, но под PHP ненашел ниодной нормальной реализации...
Так, понятно, 3 дня похерено зря >.<
Я уже дошёл до того, что поставил дельфи и ковыряю местные исходники )
За ответ большое спасибо.
Добавлено спустя 22 минуты 28 секунд:
viewtopic.php?f=6&t=135 (http://forum.coderx.ru/viewtopic.php?f=6&t=135)
брал отсюда.
Вот сурс
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Blowfish;
var
a: Integer;
b: L2Blowfish;
key : String;
code: String;
begin
key:='_;5.]94-31==-%xT!^[$'+#0;
b.Init(key, Length (key));
code := #$54 + #$DA + #$4B + #$36 + #$1F + #$1E + #$DE + #$62;
writeln (code);
b.bfDecode(code[1], 8);
writeln (code);
writeln ('Hello World');
read (a);
end.
что тут может быть не так?)
В дельфи я ноль, паскаль видел в последний раз больше 2 лет назад, поэтому за глупые ошибки ногами не пинать)
Так, понятно, 3 дня похерено зря >.<
Я уже дошёл до того, что поставил дельфи и ковыряю местные исходники )
За ответ большое спасибо.
Добавлено спустя 22 минуты 28 секунд:
viewtopic.php?f=6&t=135 (http://forum.coderx.ru/viewtopic.php?f=6&t=135)
брал отсюда.
Вот сурс
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Blowfish;
var
a: Integer;
b: L2Blowfish;
key : String;
code: String;
begin
key:='_;5.]94-31==-%xT!^[$'+#0;
b.Init(key, Length (key));
code := #$54 + #$DA + #$4B + #$36 + #$1F + #$1E + #$DE + #$62;
writeln (code);
b.bfDecode(code[1], 8);
writeln (code);
writeln ('Hello World');
read (a);
end.
что тут может быть не так?)
В дельфи я ноль, паскаль видел в последний раз больше 2 лет назад, поэтому за глупые ошибки ногами не пинать)
надо так:
b.Init(key[1], Length (key));
так как по твоему в инициализацию передаётся указатель на указатель на строку а надо указатель на первый символ...
Добавлено спустя 1 минуту 38 секунд:
b.bfDecode(code[1], 8 ); - это ведь верно написал)
надо так:
b.Init(key[1], Length (key));
так как по твоему в инициализацию передаётся указатель на указатель на строку а надо указатель на первый символ...
Добавлено спустя 1 минуту 38 секунд:
b.bfDecode(code[1], 8 ); - это ведь верно написал)
АААААААААААААААААААААААА. РАБОТАЕТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!11111111111111 1111111111111
огромное спасибо, буду теперь на си переносить. Вообще не удивляйтесь столь неадеквантой реакции - я четвёрты день с этим мучаюсь. А касаемо косяка - солгасен, но слишком уж плохо я знаю паскаль, не уследил.
Как и обещал:
bfish.h
#ifndef BF_H
#define BF_H
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
class Blowfish
{
private:
union b32
{
unsigned long word;
unsigned char byte[4];
};
unsigned long * P_;
unsigned long ** S_;
void swap_ (b32 *w1,b32 *w2);
unsigned long F_ (b32 *x) ;
void encrypt_ (b32 *w1, b32 *w2);
void decrypt_ (b32 *w1, b32 *w2);
void encryptBlock_ (unsigned char *b64);
void decryptBlock_ (unsigned char *b64);
public:
unsigned char * encrypt (std::string str);
std::string decrypt (unsigned char * str, int len);
Blowfish();
~Blowfish();
int init(std::string key);
};
#endif // BF_H
bfish.cpp
#include "bfish.h"
static const unsigned long INIT_P_[18] =
{
0x243F6A88L, 0x85A308D3L, 0x13198A2EL, 0x03707344L,
0xA4093822L, 0x299F31D0L, 0x082EFA98L, 0xEC4E6C89L,
0x452821E6L, 0x38D01377L, 0xBE5466CFL, 0x34E90C6CL,
0xC0AC29B7L, 0xC97C50DDL, 0x3F84D5B5L, 0xB5470917L,
0x9216D5D9L, 0x8979FB1BL
};
static const unsigned long INIT_S_[4][256] =
{
{0xD1310BA6L, 0x98DFB5ACL, 0x2FFD72DBL, 0xD01ADFB7L,
0xB8E1AFEDL, 0x6A267E96L, 0xBA7C9045L, 0xF12C7F99L,
0x24A19947L, 0xB3916CF7L, 0x0801F2E2L, 0x858EFC16L,
0x636920D8L, 0x71574E69L, 0xA458FEA3L, 0xF4933D7EL,
0x0D95748FL, 0x728EB658L, 0x718BCD58L, 0x82154AEEL,
0x7B54A41DL, 0xC25A59B5L, 0x9C30D539L, 0x2AF26013L,
0xC5D1B023L, 0x286085F0L, 0xCA417918L, 0xB8DB38EFL,
0x8E79DCB0L, 0x603A180EL, 0x6C9E0E8BL, 0xB01E8A3EL,
0xD71577C1L, 0xBD314B27L, 0x78AF2FDAL, 0x55605C60L,
0xE65525F3L, 0xAA55AB94L, 0x57489862L, 0x63E81440L,
0x55CA396AL, 0x2AAB10B6L, 0xB4CC5C34L, 0x1141E8CEL,
0xA15486AFL, 0x7C72E993L, 0xB3EE1411L, 0x636FBC2AL,
0x2BA9C55DL, 0x741831F6L, 0xCE5C3E16L, 0x9B87931EL,
0xAFD6BA33L, 0x6C24CF5CL, 0x7A325381L, 0x28958677L,
0x3B8F4898L, 0x6B4BB9AFL, 0xC4BFE81BL, 0x66282193L,
0x61D809CCL, 0xFB21A991L, 0x487CAC60L, 0x5DEC8032L,
0xEF845D5DL, 0xE98575B1L, 0xDC262302L, 0xEB651B88L,
0x23893E81L, 0xD396ACC5L, 0x0F6D6FF3L, 0x83F44239L,
0x2E0B4482L, 0xA4842004L, 0x69C8F04AL, 0x9E1F9B5EL,
0x21C66842L, 0xF6E96C9AL, 0x670C9C61L, 0xABD388F0L,
0x6A51A0D2L, 0xD8542F68L, 0x960FA728L, 0xAB5133A3L,
0x6EEF0B6CL, 0x137A3BE4L, 0xBA3BF050L, 0x7EFB2A98L,
0xA1F1651DL, 0x39AF0176L, 0x66CA593EL, 0x82430E88L,
0x8CEE8619L, 0x456F9FB4L, 0x7D84A5C3L, 0x3B8B5EBEL,
0xE06F75D8L, 0x85C12073L, 0x401A449FL, 0x56C16AA6L,
0x4ED3AA62L, 0x363F7706L, 0x1BFEDF72L, 0x429B023DL,
0x37D0D724L, 0xD00A1248L, 0xDB0FEAD3L, 0x49F1C09BL,
0x075372C9L, 0x80991B7BL, 0x25D479D8L, 0xF6E8DEF7L,
0xE3FE501AL, 0xB6794C3BL, 0x976CE0BDL, 0x04C006BAL,
0xC1A94FB6L, 0x409F60C4L, 0x5E5C9EC2L, 0x196A2463L,
0x68FB6FAFL, 0x3E6C53B5L, 0x1339B2EBL, 0x3B52EC6FL,
0x6DFC511FL, 0x9B30952CL, 0xCC814544L, 0xAF5EBD09L,
0xBEE3D004L, 0xDE334AFDL, 0x660F2807L, 0x192E4BB3L,
0xC0CBA857L, 0x45C8740FL, 0xD20B5F39L, 0xB9D3FBDBL,
0x5579C0BDL, 0x1A60320AL, 0xD6A100C6L, 0x402C7279L,
0x679F25FEL, 0xFB1FA3CCL, 0x8EA5E9F8L, 0xDB3222F8L,
0x3C7516DFL, 0xFD616B15L, 0x2F501EC8L, 0xAD0552ABL,
0x323DB5FAL, 0xFD238760L, 0x53317B48L, 0x3E00DF82L,
0x9E5C57BBL, 0xCA6F8CA0L, 0x1A87562EL, 0xDF1769DBL,
0xD542A8F6L, 0x287EFFC3L, 0xAC6732C6L, 0x8C4F5573L,
0x695B27B0L, 0xBBCA58C8L, 0xE1FFA35DL, 0xB8F011A0L,
0x10FA3D98L, 0xFD2183B8L, 0x4AFCB56CL, 0x2DD1D35BL,
0x9A53E479L, 0xB6F84565L, 0xD28E49BCL, 0x4BFB9790L,
0xE1DDF2DAL, 0xA4CB7E33L, 0x62FB1341L, 0xCEE4C6E8L,
0xEF20CADAL, 0x36774C01L, 0xD07E9EFEL, 0x2BF11FB4L,
0x95DBDA4DL, 0xAE909198L, 0xEAAD8E71L, 0x6B93D5A0L,
0xD08ED1D0L, 0xAFC725E0L, 0x8E3C5B2FL, 0x8E7594B7L,
0x8FF6E2FBL, 0xF2122B64L, 0x8888B812L, 0x900DF01CL,
0x4FAD5EA0L, 0x688FC31CL, 0xD1CFF191L, 0xB3A8C1ADL,
0x2F2F2218L, 0xBE0E1777L, 0xEA752DFEL, 0x8B021FA1L,
0xE5A0CC0FL, 0xB56F74E8L, 0x18ACF3D6L, 0xCE89E299L,
0xB4A84FE0L, 0xFD13E0B7L, 0x7CC43B81L, 0xD2ADA8D9L,
0x165FA266L, 0x80957705L, 0x93CC7314L, 0x211A1477L,
0xE6AD2065L, 0x77B5FA86L, 0xC75442F5L, 0xFB9D35CFL,
0xEBCDAF0CL, 0x7B3E89A0L, 0xD6411BD3L, 0xAE1E7E49L,
0x00250E2DL, 0x2071B35EL, 0x226800BBL, 0x57B8E0AFL,
0x2464369BL, 0xF009B91EL, 0x5563911DL, 0x59DFA6AAL,
0x78C14389L, 0xD95A537FL, 0x207D5BA2L, 0x02E5B9C5L,
0x83260376L, 0x6295CFA9L, 0x11C81968L, 0x4E734A41L,
0xB3472DCAL, 0x7B14A94AL, 0x1B510052L, 0x9A532915L,
0xD60F573FL, 0xBC9BC6E4L, 0x2B60A476L, 0x81E67400L,
0x08BA6FB5L, 0x571BE91FL, 0xF296EC6BL, 0x2A0DD915L,
0xB6636521L, 0xE7B9F9B6L, 0xFF34052EL, 0xC5855664L,
0x53B02D5DL, 0xA99F8FA1L, 0x08BA4799L, 0x6E85076AL},
{0x4B7A70E9L, 0xB5B32944L, 0xDB75092EL, 0xC4192623L,
0xAD6EA6B0L, 0x49A7DF7DL, 0x9CEE60B8L, 0x8FEDB266L,
0xECAA8C71L, 0x699A17FFL, 0x5664526CL, 0xC2B19EE1L,
0x193602A5L, 0x75094C29L, 0xA0591340L, 0xE4183A3EL,
0x3F54989AL, 0x5B429D65L, 0x6B8FE4D6L, 0x99F73FD6L,
0xA1D29C07L, 0xEFE830F5L, 0x4D2D38E6L, 0xF0255DC1L,
0x4CDD2086L, 0x8470EB26L, 0x6382E9C6L, 0x021ECC5EL,
0x09686B3FL, 0x3EBAEFC9L, 0x3C971814L, 0x6B6A70A1L,
0x687F3584L, 0x52A0E286L, 0xB79C5305L, 0xAA500737L,
0x3E07841CL, 0x7FDEAE5CL, 0x8E7D44ECL, 0x5716F2B8L,
0xB03ADA37L, 0xF0500C0DL, 0xF01C1F04L, 0x0200B3FFL,
0xAE0CF51AL, 0x3CB574B2L, 0x25837A58L, 0xDC0921BDL,
0xD19113F9L, 0x7CA92FF6L, 0x94324773L, 0x22F54701L,
0x3AE5E581L, 0x37C2DADCL, 0xC8B57634L, 0x9AF3DDA7L,
0xA9446146L, 0x0FD0030EL, 0xECC8C73EL, 0xA4751E41L,
0xE238CD99L, 0x3BEA0E2FL, 0x3280BBA1L, 0x183EB331L,
0x4E548B38L, 0x4F6DB908L, 0x6F420D03L, 0xF60A04BFL,
0x2CB81290L, 0x24977C79L, 0x5679B072L, 0xBCAF89AFL,
0xDE9A771FL, 0xD9930810L, 0xB38BAE12L, 0xDCCF3F2EL,
0x5512721FL, 0x2E6B7124L, 0x501ADDE6L, 0x9F84CD87L,
0x7A584718L, 0x7408DA17L, 0xBC9F9ABCL, 0xE94B7D8CL,
0xEC7AEC3AL, 0xDB851DFAL, 0x63094366L, 0xC464C3D2L,
0xEF1C1847L, 0x3215D908L, 0xDD433B37L, 0x24C2BA16L,
0x12A14D43L, 0x2A65C451L, 0x50940002L, 0x133AE4DDL,
0x71DFF89EL, 0x10314E55L, 0x81AC77D6L, 0x5F11199BL,
0x043556F1L, 0xD7A3C76BL, 0x3C11183BL, 0x5924A509L,
0xF28FE6EDL, 0x97F1FBFAL, 0x9EBABF2CL, 0x1E153C6EL,
0x86E34570L, 0xEAE96FB1L, 0x860E5E0AL, 0x5A3E2AB3L,
0x771FE71CL, 0x4E3D06FAL, 0x2965DCB9L, 0x99E71D0FL,
0x803E89D6L, 0x5266C825L, 0x2E4CC978L, 0x9C10B36AL,
0xC6150EBAL, 0x94E2EA78L, 0xA5FC3C53L, 0x1E0A2DF4L,
0xF2F74EA7L, 0x361D2B3DL, 0x1939260FL, 0x19C27960L,
0x5223A708L, 0xF71312B6L, 0xEBADFE6EL, 0xEAC31F66L,
0xE3BC4595L, 0xA67BC883L, 0xB17F37D1L, 0x018CFF28L,
0xC332DDEFL, 0xBE6C5AA5L, 0x65582185L, 0x68AB9802L,
0xEECEA50FL, 0xDB2F953BL, 0x2AEF7DADL, 0x5B6E2F84L,
0x1521B628L, 0x29076170L, 0xECDD4775L, 0x619F1510L,
0x13CCA830L, 0xEB61BD96L, 0x0334FE1EL, 0xAA0363CFL,
0xB5735C90L, 0x4C70A239L, 0xD59E9E0BL, 0xCBAADE14L,
0xEECC86BCL, 0x60622CA7L, 0x9CAB5CABL, 0xB2F3846EL,
0x648B1EAFL, 0x19BDF0CAL, 0xA02369B9L, 0x655ABB50L,
0x40685A32L, 0x3C2AB4B3L, 0x319EE9D5L, 0xC021B8F7L,
0x9B540B19L, 0x875FA099L, 0x95F7997EL, 0x623D7DA8L,
0xF837889AL, 0x97E32D77L, 0x11ED935FL, 0x16681281L,
0x0E358829L, 0xC7E61FD6L, 0x96DEDFA1L, 0x7858BA99L,
0x57F584A5L, 0x1B227263L, 0x9B83C3FFL, 0x1AC24696L,
0xCDB30AEBL, 0x532E3054L, 0x8FD948E4L, 0x6DBC3128L,
0x58EBF2EFL, 0x34C6FFEAL, 0xFE28ED61L, 0xEE7C3C73L,
0x5D4A14D9L, 0xE864B7E3L, 0x42105D14L, 0x203E13E0L,
0x45EEE2B6L, 0xA3AAABEAL, 0xDB6C4F15L, 0xFACB4FD0L,
0xC742F442L, 0xEF6ABBB5L, 0x654F3B1DL, 0x41CD2105L,
0xD81E799EL, 0x86854DC7L, 0xE44B476AL, 0x3D816250L,
0xCF62A1F2L, 0x5B8D2646L, 0xFC8883A0L, 0xC1C7B6A3L,
0x7F1524C3L, 0x69CB7492L, 0x47848A0BL, 0x5692B285L,
0x095BBF00L, 0xAD19489DL, 0x1462B174L, 0x23820E00L,
0x58428D2AL, 0x0C55F5EAL, 0x1DADF43EL, 0x233F7061L,
0x3372F092L, 0x8D937E41L, 0xD65FECF1L, 0x6C223BDBL,
0x7CDE3759L, 0xCBEE7460L, 0x4085F2A7L, 0xCE77326EL,
0xA6078084L, 0x19F8509EL, 0xE8EFD855L, 0x61D99735L,
0xA969A7AAL, 0xC50C06C2L, 0x5A04ABFCL, 0x800BCADCL,
0x9E447A2EL, 0xC3453484L, 0xFDD56705L, 0x0E1E9EC9L,
0xDB73DBD3L, 0x105588CDL, 0x675FDA79L, 0xE3674340L,
0xC5C43465L, 0x713E38D8L, 0x3D28F89EL, 0xF16DFF20L,
0x153E21E7L, 0x8FB03D4AL, 0xE6E39F2BL, 0xDB83ADF7L},
{0xE93D5A68L, 0x948140F7L, 0xF64C261CL, 0x94692934L,
0x411520F7L, 0x7602D4F7L, 0xBCF46B2EL, 0xD4A20068L,
0xD4082471L, 0x3320F46AL, 0x43B7D4B7L, 0x500061AFL,
0x1E39F62EL, 0x97244546L, 0x14214F74L, 0xBF8B8840L,
0x4D95FC1DL, 0x96B591AFL, 0x70F4DDD3L, 0x66A02F45L,
0xBFBC09ECL, 0x03BD9785L, 0x7FAC6DD0L, 0x31CB8504L,
0x96EB27B3L, 0x55FD3941L, 0xDA2547E6L, 0xABCA0A9AL,
0x28507825L, 0x530429F4L, 0x0A2C86DAL, 0xE9B66DFBL,
0x68DC1462L, 0xD7486900L, 0x680EC0A4L, 0x27A18DEEL,
0x4F3FFEA2L, 0xE887AD8CL, 0xB58CE006L, 0x7AF4D6B6L,
0xAACE1E7CL, 0xD3375FECL, 0xCE78A399L, 0x406B2A42L,
0x20FE9E35L, 0xD9F385B9L, 0xEE39D7ABL, 0x3B124E8BL,
0x1DC9FAF7L, 0x4B6D1856L, 0x26A36631L, 0xEAE397B2L,
0x3A6EFA74L, 0xDD5B4332L, 0x6841E7F7L, 0xCA7820FBL,
0xFB0AF54EL, 0xD8FEB397L, 0x454056ACL, 0xBA489527L,
0x55533A3AL, 0x20838D87L, 0xFE6BA9B7L, 0xD096954BL,
0x55A867BCL, 0xA1159A58L, 0xCCA92963L, 0x99E1DB33L,
0xA62A4A56L, 0x3F3125F9L, 0x5EF47E1CL, 0x9029317CL,
0xFDF8E802L, 0x04272F70L, 0x80BB155CL, 0x05282CE3L,
0x95C11548L, 0xE4C66D22L, 0x48C1133FL, 0xC70F86DCL,
0x07F9C9EEL, 0x41041F0FL, 0x404779A4L, 0x5D886E17L,
0x325F51EBL, 0xD59BC0D1L, 0xF2BCC18FL, 0x41113564L,
0x257B7834L, 0x602A9C60L, 0xDFF8E8A3L, 0x1F636C1BL,
0x0E12B4C2L, 0x02E1329EL, 0xAF664FD1L, 0xCAD18115L,
0x6B2395E0L, 0x333E92E1L, 0x3B240B62L, 0xEEBEB922L,
0x85B2A20EL, 0xE6BA0D99L, 0xDE720C8CL, 0x2DA2F728L,
0xD0127845L, 0x95B794FDL, 0x647D0862L, 0xE7CCF5F0L,
0x5449A36FL, 0x877D48FAL, 0xC39DFD27L, 0xF33E8D1EL,
0x0A476341L, 0x992EFF74L, 0x3A6F6EABL, 0xF4F8FD37L,
0xA812DC60L, 0xA1EBDDF8L, 0x991BE14CL, 0xDB6E6B0DL,
0xC67B5510L, 0x6D672C37L, 0x2765D43BL, 0xDCD0E804L,
0xF1290DC7L, 0xCC00FFA3L, 0xB5390F92L, 0x690FED0BL,
0x667B9FFBL, 0xCEDB7D9CL, 0xA091CF0BL, 0xD9155EA3L,
0xBB132F88L, 0x515BAD24L, 0x7B9479BFL, 0x763BD6EBL,
0x37392EB3L, 0xCC115979L, 0x8026E297L, 0xF42E312DL,
0x6842ADA7L, 0xC66A2B3BL, 0x12754CCCL, 0x782EF11CL,
0x6A124237L, 0xB79251E7L, 0x06A1BBE6L, 0x4BFB6350L,
0x1A6B1018L, 0x11CAEDFAL, 0x3D25BDD8L, 0xE2E1C3C9L,
0x44421659L, 0x0A121386L, 0xD90CEC6EL, 0xD5ABEA2AL,
0x64AF674EL, 0xDA86A85FL, 0xBEBFE988L, 0x64E4C3FEL,
0x9DBC8057L, 0xF0F7C086L, 0x60787BF8L, 0x6003604DL,
0xD1FD8346L, 0xF6381FB0L, 0x7745AE04L, 0xD736FCCCL,
0x83426B33L, 0xF01EAB71L, 0xB0804187L, 0x3C005E5FL,
0x77A057BEL, 0xBDE8AE24L, 0x55464299L, 0xBF582E61L,
0x4E58F48FL, 0xF2DDFDA2L, 0xF474EF38L, 0x8789BDC2L,
0x5366F9C3L, 0xC8B38E74L, 0xB475F255L, 0x46FCD9B9L,
0x7AEB2661L, 0x8B1DDF84L, 0x846A0E79L, 0x915F95E2L,
0x466E598EL, 0x20B45770L, 0x8CD55591L, 0xC902DE4CL,
0xB90BACE1L, 0xBB8205D0L, 0x11A86248L, 0x7574A99EL,
0xB77F19B6L, 0xE0A9DC09L, 0x662D09A1L, 0xC4324633L,
0xE85A1F02L, 0x09F0BE8CL, 0x4A99A025L, 0x1D6EFE10L,
0x1AB93D1DL, 0x0BA5A4DFL, 0xA186F20FL, 0x2868F169L,
0xDCB7DA83L, 0x573906FEL, 0xA1E2CE9BL, 0x4FCD7F52L,
0x50115E01L, 0xA70683FAL, 0xA002B5C4L, 0x0DE6D027L,
0x9AF88C27L, 0x773F8641L, 0xC3604C06L, 0x61A806B5L,
0xF0177A28L, 0xC0F586E0L, 0x006058AAL, 0x30DC7D62L,
0x11E69ED7L, 0x2338EA63L, 0x53C2DD94L, 0xC2C21634L,
0xBBCBEE56L, 0x90BCB6DEL, 0xEBFC7DA1L, 0xCE591D76L,
0x6F05E409L, 0x4B7C0188L, 0x39720A3DL, 0x7C927C24L,
0x86E3725FL, 0x724D9DB9L, 0x1AC15BB4L, 0xD39EB8FCL,
0xED545578L, 0x08FCA5B5L, 0xD83D7CD3L, 0x4DAD0FC4L,
0x1E50EF5EL, 0xB161E6F8L, 0xA28514D9L, 0x6C51133CL,
0x6FD5C7E7L, 0x56E14EC4L, 0x362ABFCEL, 0xDDC6C837L,
0xD79A3234L, 0x92638212L, 0x670EFA8EL, 0x406000E0L},
{0x3A39CE37L, 0xD3FAF5CFL, 0xABC27737L, 0x5AC52D1BL,
0x5CB0679EL, 0x4FA33742L, 0xD3822740L, 0x99BC9BBEL,
0xD5118E9DL, 0xBF0F7315L, 0xD62D1C7EL, 0xC700C47BL,
0xB78C1B6BL, 0x21A19045L, 0xB26EB1BEL, 0x6A366EB4L,
0x5748AB2FL, 0xBC946E79L, 0xC6A376D2L, 0x6549C2C8L,
0x530FF8EEL, 0x468DDE7DL, 0xD5730A1DL, 0x4CD04DC6L,
0x2939BBDBL, 0xA9BA4650L, 0xAC9526E8L, 0xBE5EE304L,
0xA1FAD5F0L, 0x6A2D519AL, 0x63EF8CE2L, 0x9A86EE22L,
0xC089C2B8L, 0x43242EF6L, 0xA51E03AAL, 0x9CF2D0A4L,
0x83C061BAL, 0x9BE96A4DL, 0x8FE51550L, 0xBA645BD6L,
0x2826A2F9L, 0xA73A3AE1L, 0x4BA99586L, 0xEF5562E9L,
0xC72FEFD3L, 0xF752F7DAL, 0x3F046F69L, 0x77FA0A59L,
0x80E4A915L, 0x87B08601L, 0x9B09E6ADL, 0x3B3EE593L,
0xE990FD5AL, 0x9E34D797L, 0x2CF0B7D9L, 0x022B8B51L,
0x96D5AC3AL, 0x017DA67DL, 0xD1CF3ED6L, 0x7C7D2D28L,
0x1F9F25CFL, 0xADF2B89BL, 0x5AD6B472L, 0x5A88F54CL,
0xE029AC71L, 0xE019A5E6L, 0x47B0ACFDL, 0xED93FA9BL,
0xE8D3C48DL, 0x283B57CCL, 0xF8D56629L, 0x79132E28L,
0x785F0191L, 0xED756055L, 0xF7960E44L, 0xE3D35E8CL,
0x15056DD4L, 0x88F46DBAL, 0x03A16125L, 0x0564F0BDL,
0xC3EB9E15L, 0x3C9057A2L, 0x97271AECL, 0xA93A072AL,
0x1B3F6D9BL, 0x1E6321F5L, 0xF59C66FBL, 0x26DCF319L,
0x7533D928L, 0xB155FDF5L, 0x03563482L, 0x8ABA3CBBL,
0x28517711L, 0xC20AD9F8L, 0xABCC5167L, 0xCCAD925FL,
0x4DE81751L, 0x3830DC8EL, 0x379D5862L, 0x9320F991L,
0xEA7A90C2L, 0xFB3E7BCEL, 0x5121CE64L, 0x774FBE32L,
0xA8B6E37EL, 0xC3293D46L, 0x48DE5369L, 0x6413E680L,
0xA2AE0810L, 0xDD6DB224L, 0x69852DFDL, 0x09072166L,
0xB39A460AL, 0x6445C0DDL, 0x586CDECFL, 0x1C20C8AEL,
0x5BBEF7DDL, 0x1B588D40L, 0xCCD2017FL, 0x6BB4E3BBL,
0xDDA26A7EL, 0x3A59FF45L, 0x3E350A44L, 0xBCB4CDD5L,
0x72EACEA8L, 0xFA6484BBL, 0x8D6612AEL, 0xBF3C6F47L,
0xD29BE463L, 0x542F5D9EL, 0xAEC2771BL, 0xF64E6370L,
0x740E0D8DL, 0xE75B1357L, 0xF8721671L, 0xAF537D5DL,
0x4040CB08L, 0x4EB4E2CCL, 0x34D2466AL, 0x0115AF84L,
0xE1B00428L, 0x95983A1DL, 0x06B89FB4L, 0xCE6EA048L,
0x6F3F3B82L, 0x3520AB82L, 0x011A1D4BL, 0x277227F8L,
0x611560B1L, 0xE7933FDCL, 0xBB3A792BL, 0x344525BDL,
0xA08839E1L, 0x51CE794BL, 0x2F32C9B7L, 0xA01FBAC9L,
0xE01CC87EL, 0xBCC7D1F6L, 0xCF0111C3L, 0xA1E8AAC7L,
0x1A908749L, 0xD44FBD9AL, 0xD0DADECBL, 0xD50ADA38L,
0x0339C32AL, 0xC6913667L, 0x8DF9317CL, 0xE0B12B4FL,
0xF79E59B7L, 0x43F5BB3AL, 0xF2D519FFL, 0x27D9459CL,
0xBF97222CL, 0x15E6FC2AL, 0x0F91FC71L, 0x9B941525L,
0xFAE59361L, 0xCEB69CEBL, 0xC2A86459L, 0x12BAA8D1L,
0xB6C1075EL, 0xE3056A0CL, 0x10D25065L, 0xCB03A442L,
0xE0EC6E0EL, 0x1698DB3BL, 0x4C98A0BEL, 0x3278E964L,
0x9F1F9532L, 0xE0D392DFL, 0xD3A0342BL, 0x8971F21EL,
0x1B0A7441L, 0x4BA3348CL, 0xC5BE7120L, 0xC37632D8L,
0xDF359F8DL, 0x9B992F2EL, 0xE60B6F47L, 0x0FE3F11DL,
0xE54CDA54L, 0x1EDAD891L, 0xCE6279CFL, 0xCD3E7E6FL,
0x1618B166L, 0xFD2C1D05L, 0x848FD2C5L, 0xF6FB2299L,
0xF523F357L, 0xA6327623L, 0x93A83531L, 0x56CCCD02L,
0xACF08162L, 0x5A75EBB5L, 0x6E163697L, 0x88D273CCL,
0xDE966292L, 0x81B949D0L, 0x4C50901BL, 0x71C65614L,
0xE6C6C7BDL, 0x327A140AL, 0x45E1D006L, 0xC3F27B9AL,
0xC9AA53FDL, 0x62A80F00L, 0xBB25BFE2L, 0x35BDD2F6L,
0x71126905L, 0xB2040222L, 0xB6CBCF7CL, 0xCD769C2BL,
0x53113EC0L, 0x1640E3D3L, 0x38ABBD60L, 0x2547ADF0L,
0xBA38209CL, 0xF746CE76L, 0x77AFA1C5L, 0x20756060L,
0x85CBFE4EL, 0x8AE88DD8L, 0x7AAAF9B0L, 0x4CF9AA7EL,
0x1948C25CL, 0x02FB8A8CL, 0x01C36AE4L, 0xD6EBE1F9L,
0x90D4F869L, 0xA65CDEA0L, 0x3F09252DL, 0xC208E69FL,
0xB74E6132L, 0xCE77E25BL, 0x578FDFE3L, 0x3AC372E6L}
};
Blowfish::Blowfish()
{
P_ = new unsigned long [18];
S_ = new unsigned long * [4];
for (int i = 0; i < 18; ++i)
P_[i] = INIT_P_[i];
for (int j = 0; j < 4; ++j)
{
S_[j] = new unsigned long [256];
for (int i = 0; i < 256; ++i)
S_[j][i] = INIT_S_[j][i];
}
}
Blowfish::~Blowfish()
{
delete [] P_;
for (int i = 0; i < 4; ++i)
delete [] S_[i];
delete [] S_;
}
int Blowfish::init (std::string bKey)
{
unsigned char * key = (unsigned char *) bKey.c_str ();
int len = bKey.length () + 1;
if (bKey.length () > 55)
return -1;
b32 data, data1;
for (int i = 0, j = 0; i < 18; ++i)
{
data.byte[3] = key[(j++)%len];
data.byte[2] = key[(j++)%len];
data.byte[1] = key[(j++)%len];
data.byte[0] = key[(j++)%len];
P_[i] ^= data.word;
}
data.word = 0x00000000;
data1.word = 0x00000000;
for (int i = 0; i < 18; i+=2)
{
encrypt_(&data1,&data);
P_[i] = data1.word;
P_[i+1] = data.word;
}
for (int j = 0; j < 4; ++j)
{
for (int i = 0; i < 256; i += 2)
{
encrypt_(&data1,&data);
S_[j][i] = data1.word;
S_[j][i+1] = data.word;
}
}
return 0;
}
inline unsigned long Blowfish::F_ (b32 *x)
{
return (((S_[0][x->byte[3]] + S_[1][x->byte[2]]) ^ S_[2][x->byte[1]]) + S_[3][x->byte[0]]);
}
void Blowfish::swap_ (b32 *w1, b32 * w2)
{
unsigned long swap;
swap = w1->word;
w1->word = w2->word;
w2->word = swap;
}
void Blowfish::encrypt_ (b32 *w1, b32 *w2)
{
w1->word ^= P_[0];
for (int i = 1; i < 17; ++i)
{
if (i % 2 == 0)
w1->word ^= F_(w2)^P_[i];
else
w2->word ^= F_(w1)^P_[i];
}
w2->word ^= P_[17];
swap_ (w1, w2);
}
void Blowfish::decrypt_ (b32 *w1, b32 *w2)
{
w1->word ^= P_[17];
for (int i = 16; i > 0 ; --i)
{
if (i % 2 == 1)
w1->word ^= F_(w2)^P_[i];
else
w2->word ^= F_(w1)^P_[i];
}
w2->word ^= P_[0];
swap_ (w1, w2);
}
void Blowfish::encryptBlock_ (unsigned char *b64)
{
b32 *w1 = (b32*)b64;
b32 *w2 = (b32*)(b64+4);
encrypt_(w1,w2);
}
void Blowfish::decryptBlock_ (unsigned char *b64)
{
b32 *w1 = (b32*)b64;
b32 *w2 = (b32*)(b64+4);
decrypt_(w1,w2);
}
unsigned char * Blowfish::encrypt (std::string str)
{
while (str.length () % 8 != 0)
str += (char)0;
unsigned char tmp [8];
unsigned char * buf = new unsigned char [str.length ()];
for (int i = 0; i < str.length () / 8; ++i)
{
for (int j = 0; j < 8; ++j)
tmp[j] = str[i * 8 + j];
encryptBlock_ (tmp);
for (int j = 0; j < 8; ++j)
buf[i * 8 + j] = tmp[j];
}
return buf;
}
std::string Blowfish::decrypt (unsigned char * str, int len)
{
std::string ret;
unsigned char buf [8];
for (int i = 0; i < len / 8; ++i)
{
for (int j = 0; j < 8; ++j)
buf[j] = str[i * 8 + j];
decryptBlock_ (buf);
for (int j = 0; j < 8; ++j)
ret += buf[j];
}
return ret;
}
АААААААААААААААААААААААА. РАБОТАЕТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!11111111111111 1111111111111
огромное спасибо, буду теперь на си переносить. Вообще не удивляйтесь столь неадеквантой реакции - я четвёрты день с этим мучаюсь. А касаемо косяка - солгасен, но слишком уж плохо я знаю паскаль, не уследил.
Как и обещал:
bfish.h
#ifndef BF_H
#define BF_H
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
class Blowfish
{
private:
union b32
{
unsigned long word;
unsigned char byte[4];
};
unsigned long * P_;
unsigned long ** S_;
void swap_ (b32 *w1,b32 *w2);
unsigned long F_ (b32 *x) ;
void encrypt_ (b32 *w1, b32 *w2);
void decrypt_ (b32 *w1, b32 *w2);
void encryptBlock_ (unsigned char *b64);
void decryptBlock_ (unsigned char *b64);
public:
unsigned char * encrypt (std::string str);
std::string decrypt (unsigned char * str, int len);
Blowfish();
~Blowfish();
int init(std::string key);
};
#endif // BF_H
bfish.cpp
#include "bfish.h"
static const unsigned long INIT_P_[18] =
{
0x243F6A88L, 0x85A308D3L, 0x13198A2EL, 0x03707344L,
0xA4093822L, 0x299F31D0L, 0x082EFA98L, 0xEC4E6C89L,
0x452821E6L, 0x38D01377L, 0xBE5466CFL, 0x34E90C6CL,
0xC0AC29B7L, 0xC97C50DDL, 0x3F84D5B5L, 0xB5470917L,
0x9216D5D9L, 0x8979FB1BL
};
static const unsigned long INIT_S_[4][256] =
{
{0xD1310BA6L, 0x98DFB5ACL, 0x2FFD72DBL, 0xD01ADFB7L,
0xB8E1AFEDL, 0x6A267E96L, 0xBA7C9045L, 0xF12C7F99L,
0x24A19947L, 0xB3916CF7L, 0x0801F2E2L, 0x858EFC16L,
0x636920D8L, 0x71574E69L, 0xA458FEA3L, 0xF4933D7EL,
0x0D95748FL, 0x728EB658L, 0x718BCD58L, 0x82154AEEL,
0x7B54A41DL, 0xC25A59B5L, 0x9C30D539L, 0x2AF26013L,
0xC5D1B023L, 0x286085F0L, 0xCA417918L, 0xB8DB38EFL,
0x8E79DCB0L, 0x603A180EL, 0x6C9E0E8BL, 0xB01E8A3EL,
0xD71577C1L, 0xBD314B27L, 0x78AF2FDAL, 0x55605C60L,
0xE65525F3L, 0xAA55AB94L, 0x57489862L, 0x63E81440L,
0x55CA396AL, 0x2AAB10B6L, 0xB4CC5C34L, 0x1141E8CEL,
0xA15486AFL, 0x7C72E993L, 0xB3EE1411L, 0x636FBC2AL,
0x2BA9C55DL, 0x741831F6L, 0xCE5C3E16L, 0x9B87931EL,
0xAFD6BA33L, 0x6C24CF5CL, 0x7A325381L, 0x28958677L,
0x3B8F4898L, 0x6B4BB9AFL, 0xC4BFE81BL, 0x66282193L,
0x61D809CCL, 0xFB21A991L, 0x487CAC60L, 0x5DEC8032L,
0xEF845D5DL, 0xE98575B1L, 0xDC262302L, 0xEB651B88L,
0x23893E81L, 0xD396ACC5L, 0x0F6D6FF3L, 0x83F44239L,
0x2E0B4482L, 0xA4842004L, 0x69C8F04AL, 0x9E1F9B5EL,
0x21C66842L, 0xF6E96C9AL, 0x670C9C61L, 0xABD388F0L,
0x6A51A0D2L, 0xD8542F68L, 0x960FA728L, 0xAB5133A3L,
0x6EEF0B6CL, 0x137A3BE4L, 0xBA3BF050L, 0x7EFB2A98L,
0xA1F1651DL, 0x39AF0176L, 0x66CA593EL, 0x82430E88L,
0x8CEE8619L, 0x456F9FB4L, 0x7D84A5C3L, 0x3B8B5EBEL,
0xE06F75D8L, 0x85C12073L, 0x401A449FL, 0x56C16AA6L,
0x4ED3AA62L, 0x363F7706L, 0x1BFEDF72L, 0x429B023DL,
0x37D0D724L, 0xD00A1248L, 0xDB0FEAD3L, 0x49F1C09BL,
0x075372C9L, 0x80991B7BL, 0x25D479D8L, 0xF6E8DEF7L,
0xE3FE501AL, 0xB6794C3BL, 0x976CE0BDL, 0x04C006BAL,
0xC1A94FB6L, 0x409F60C4L, 0x5E5C9EC2L, 0x196A2463L,
0x68FB6FAFL, 0x3E6C53B5L, 0x1339B2EBL, 0x3B52EC6FL,
0x6DFC511FL, 0x9B30952CL, 0xCC814544L, 0xAF5EBD09L,
0xBEE3D004L, 0xDE334AFDL, 0x660F2807L, 0x192E4BB3L,
0xC0CBA857L, 0x45C8740FL, 0xD20B5F39L, 0xB9D3FBDBL,
0x5579C0BDL, 0x1A60320AL, 0xD6A100C6L, 0x402C7279L,
0x679F25FEL, 0xFB1FA3CCL, 0x8EA5E9F8L, 0xDB3222F8L,
0x3C7516DFL, 0xFD616B15L, 0x2F501EC8L, 0xAD0552ABL,
0x323DB5FAL, 0xFD238760L, 0x53317B48L, 0x3E00DF82L,
0x9E5C57BBL, 0xCA6F8CA0L, 0x1A87562EL, 0xDF1769DBL,
0xD542A8F6L, 0x287EFFC3L, 0xAC6732C6L, 0x8C4F5573L,
0x695B27B0L, 0xBBCA58C8L, 0xE1FFA35DL, 0xB8F011A0L,
0x10FA3D98L, 0xFD2183B8L, 0x4AFCB56CL, 0x2DD1D35BL,
0x9A53E479L, 0xB6F84565L, 0xD28E49BCL, 0x4BFB9790L,
0xE1DDF2DAL, 0xA4CB7E33L, 0x62FB1341L, 0xCEE4C6E8L,
0xEF20CADAL, 0x36774C01L, 0xD07E9EFEL, 0x2BF11FB4L,
0x95DBDA4DL, 0xAE909198L, 0xEAAD8E71L, 0x6B93D5A0L,
0xD08ED1D0L, 0xAFC725E0L, 0x8E3C5B2FL, 0x8E7594B7L,
0x8FF6E2FBL, 0xF2122B64L, 0x8888B812L, 0x900DF01CL,
0x4FAD5EA0L, 0x688FC31CL, 0xD1CFF191L, 0xB3A8C1ADL,
0x2F2F2218L, 0xBE0E1777L, 0xEA752DFEL, 0x8B021FA1L,
0xE5A0CC0FL, 0xB56F74E8L, 0x18ACF3D6L, 0xCE89E299L,
0xB4A84FE0L, 0xFD13E0B7L, 0x7CC43B81L, 0xD2ADA8D9L,
0x165FA266L, 0x80957705L, 0x93CC7314L, 0x211A1477L,
0xE6AD2065L, 0x77B5FA86L, 0xC75442F5L, 0xFB9D35CFL,
0xEBCDAF0CL, 0x7B3E89A0L, 0xD6411BD3L, 0xAE1E7E49L,
0x00250E2DL, 0x2071B35EL, 0x226800BBL, 0x57B8E0AFL,
0x2464369BL, 0xF009B91EL, 0x5563911DL, 0x59DFA6AAL,
0x78C14389L, 0xD95A537FL, 0x207D5BA2L, 0x02E5B9C5L,
0x83260376L, 0x6295CFA9L, 0x11C81968L, 0x4E734A41L,
0xB3472DCAL, 0x7B14A94AL, 0x1B510052L, 0x9A532915L,
0xD60F573FL, 0xBC9BC6E4L, 0x2B60A476L, 0x81E67400L,
0x08BA6FB5L, 0x571BE91FL, 0xF296EC6BL, 0x2A0DD915L,
0xB6636521L, 0xE7B9F9B6L, 0xFF34052EL, 0xC5855664L,
0x53B02D5DL, 0xA99F8FA1L, 0x08BA4799L, 0x6E85076AL},
{0x4B7A70E9L, 0xB5B32944L, 0xDB75092EL, 0xC4192623L,
0xAD6EA6B0L, 0x49A7DF7DL, 0x9CEE60B8L, 0x8FEDB266L,
0xECAA8C71L, 0x699A17FFL, 0x5664526CL, 0xC2B19EE1L,
0x193602A5L, 0x75094C29L, 0xA0591340L, 0xE4183A3EL,
0x3F54989AL, 0x5B429D65L, 0x6B8FE4D6L, 0x99F73FD6L,
0xA1D29C07L, 0xEFE830F5L, 0x4D2D38E6L, 0xF0255DC1L,
0x4CDD2086L, 0x8470EB26L, 0x6382E9C6L, 0x021ECC5EL,
0x09686B3FL, 0x3EBAEFC9L, 0x3C971814L, 0x6B6A70A1L,
0x687F3584L, 0x52A0E286L, 0xB79C5305L, 0xAA500737L,
0x3E07841CL, 0x7FDEAE5CL, 0x8E7D44ECL, 0x5716F2B8L,
0xB03ADA37L, 0xF0500C0DL, 0xF01C1F04L, 0x0200B3FFL,
0xAE0CF51AL, 0x3CB574B2L, 0x25837A58L, 0xDC0921BDL,
0xD19113F9L, 0x7CA92FF6L, 0x94324773L, 0x22F54701L,
0x3AE5E581L, 0x37C2DADCL, 0xC8B57634L, 0x9AF3DDA7L,
0xA9446146L, 0x0FD0030EL, 0xECC8C73EL, 0xA4751E41L,
0xE238CD99L, 0x3BEA0E2FL, 0x3280BBA1L, 0x183EB331L,
0x4E548B38L, 0x4F6DB908L, 0x6F420D03L, 0xF60A04BFL,
0x2CB81290L, 0x24977C79L, 0x5679B072L, 0xBCAF89AFL,
0xDE9A771FL, 0xD9930810L, 0xB38BAE12L, 0xDCCF3F2EL,
0x5512721FL, 0x2E6B7124L, 0x501ADDE6L, 0x9F84CD87L,
0x7A584718L, 0x7408DA17L, 0xBC9F9ABCL, 0xE94B7D8CL,
0xEC7AEC3AL, 0xDB851DFAL, 0x63094366L, 0xC464C3D2L,
0xEF1C1847L, 0x3215D908L, 0xDD433B37L, 0x24C2BA16L,
0x12A14D43L, 0x2A65C451L, 0x50940002L, 0x133AE4DDL,
0x71DFF89EL, 0x10314E55L, 0x81AC77D6L, 0x5F11199BL,
0x043556F1L, 0xD7A3C76BL, 0x3C11183BL, 0x5924A509L,
0xF28FE6EDL, 0x97F1FBFAL, 0x9EBABF2CL, 0x1E153C6EL,
0x86E34570L, 0xEAE96FB1L, 0x860E5E0AL, 0x5A3E2AB3L,
0x771FE71CL, 0x4E3D06FAL, 0x2965DCB9L, 0x99E71D0FL,
0x803E89D6L, 0x5266C825L, 0x2E4CC978L, 0x9C10B36AL,
0xC6150EBAL, 0x94E2EA78L, 0xA5FC3C53L, 0x1E0A2DF4L,
0xF2F74EA7L, 0x361D2B3DL, 0x1939260FL, 0x19C27960L,
0x5223A708L, 0xF71312B6L, 0xEBADFE6EL, 0xEAC31F66L,
0xE3BC4595L, 0xA67BC883L, 0xB17F37D1L, 0x018CFF28L,
0xC332DDEFL, 0xBE6C5AA5L, 0x65582185L, 0x68AB9802L,
0xEECEA50FL, 0xDB2F953BL, 0x2AEF7DADL, 0x5B6E2F84L,
0x1521B628L, 0x29076170L, 0xECDD4775L, 0x619F1510L,
0x13CCA830L, 0xEB61BD96L, 0x0334FE1EL, 0xAA0363CFL,
0xB5735C90L, 0x4C70A239L, 0xD59E9E0BL, 0xCBAADE14L,
0xEECC86BCL, 0x60622CA7L, 0x9CAB5CABL, 0xB2F3846EL,
0x648B1EAFL, 0x19BDF0CAL, 0xA02369B9L, 0x655ABB50L,
0x40685A32L, 0x3C2AB4B3L, 0x319EE9D5L, 0xC021B8F7L,
0x9B540B19L, 0x875FA099L, 0x95F7997EL, 0x623D7DA8L,
0xF837889AL, 0x97E32D77L, 0x11ED935FL, 0x16681281L,
0x0E358829L, 0xC7E61FD6L, 0x96DEDFA1L, 0x7858BA99L,
0x57F584A5L, 0x1B227263L, 0x9B83C3FFL, 0x1AC24696L,
0xCDB30AEBL, 0x532E3054L, 0x8FD948E4L, 0x6DBC3128L,
0x58EBF2EFL, 0x34C6FFEAL, 0xFE28ED61L, 0xEE7C3C73L,
0x5D4A14D9L, 0xE864B7E3L, 0x42105D14L, 0x203E13E0L,
0x45EEE2B6L, 0xA3AAABEAL, 0xDB6C4F15L, 0xFACB4FD0L,
0xC742F442L, 0xEF6ABBB5L, 0x654F3B1DL, 0x41CD2105L,
0xD81E799EL, 0x86854DC7L, 0xE44B476AL, 0x3D816250L,
0xCF62A1F2L, 0x5B8D2646L, 0xFC8883A0L, 0xC1C7B6A3L,
0x7F1524C3L, 0x69CB7492L, 0x47848A0BL, 0x5692B285L,
0x095BBF00L, 0xAD19489DL, 0x1462B174L, 0x23820E00L,
0x58428D2AL, 0x0C55F5EAL, 0x1DADF43EL, 0x233F7061L,
0x3372F092L, 0x8D937E41L, 0xD65FECF1L, 0x6C223BDBL,
0x7CDE3759L, 0xCBEE7460L, 0x4085F2A7L, 0xCE77326EL,
0xA6078084L, 0x19F8509EL, 0xE8EFD855L, 0x61D99735L,
0xA969A7AAL, 0xC50C06C2L, 0x5A04ABFCL, 0x800BCADCL,
0x9E447A2EL, 0xC3453484L, 0xFDD56705L, 0x0E1E9EC9L,
0xDB73DBD3L, 0x105588CDL, 0x675FDA79L, 0xE3674340L,
0xC5C43465L, 0x713E38D8L, 0x3D28F89EL, 0xF16DFF20L,
0x153E21E7L, 0x8FB03D4AL, 0xE6E39F2BL, 0xDB83ADF7L},
{0xE93D5A68L, 0x948140F7L, 0xF64C261CL, 0x94692934L,
0x411520F7L, 0x7602D4F7L, 0xBCF46B2EL, 0xD4A20068L,
0xD4082471L, 0x3320F46AL, 0x43B7D4B7L, 0x500061AFL,
0x1E39F62EL, 0x97244546L, 0x14214F74L, 0xBF8B8840L,
0x4D95FC1DL, 0x96B591AFL, 0x70F4DDD3L, 0x66A02F45L,
0xBFBC09ECL, 0x03BD9785L, 0x7FAC6DD0L, 0x31CB8504L,
0x96EB27B3L, 0x55FD3941L, 0xDA2547E6L, 0xABCA0A9AL,
0x28507825L, 0x530429F4L, 0x0A2C86DAL, 0xE9B66DFBL,
0x68DC1462L, 0xD7486900L, 0x680EC0A4L, 0x27A18DEEL,
0x4F3FFEA2L, 0xE887AD8CL, 0xB58CE006L, 0x7AF4D6B6L,
0xAACE1E7CL, 0xD3375FECL, 0xCE78A399L, 0x406B2A42L,
0x20FE9E35L, 0xD9F385B9L, 0xEE39D7ABL, 0x3B124E8BL,
0x1DC9FAF7L, 0x4B6D1856L, 0x26A36631L, 0xEAE397B2L,
0x3A6EFA74L, 0xDD5B4332L, 0x6841E7F7L, 0xCA7820FBL,
0xFB0AF54EL, 0xD8FEB397L, 0x454056ACL, 0xBA489527L,
0x55533A3AL, 0x20838D87L, 0xFE6BA9B7L, 0xD096954BL,
0x55A867BCL, 0xA1159A58L, 0xCCA92963L, 0x99E1DB33L,
0xA62A4A56L, 0x3F3125F9L, 0x5EF47E1CL, 0x9029317CL,
0xFDF8E802L, 0x04272F70L, 0x80BB155CL, 0x05282CE3L,
0x95C11548L, 0xE4C66D22L, 0x48C1133FL, 0xC70F86DCL,
0x07F9C9EEL, 0x41041F0FL, 0x404779A4L, 0x5D886E17L,
0x325F51EBL, 0xD59BC0D1L, 0xF2BCC18FL, 0x41113564L,
0x257B7834L, 0x602A9C60L, 0xDFF8E8A3L, 0x1F636C1BL,
0x0E12B4C2L, 0x02E1329EL, 0xAF664FD1L, 0xCAD18115L,
0x6B2395E0L, 0x333E92E1L, 0x3B240B62L, 0xEEBEB922L,
0x85B2A20EL, 0xE6BA0D99L, 0xDE720C8CL, 0x2DA2F728L,
0xD0127845L, 0x95B794FDL, 0x647D0862L, 0xE7CCF5F0L,
0x5449A36FL, 0x877D48FAL, 0xC39DFD27L, 0xF33E8D1EL,
0x0A476341L, 0x992EFF74L, 0x3A6F6EABL, 0xF4F8FD37L,
0xA812DC60L, 0xA1EBDDF8L, 0x991BE14CL, 0xDB6E6B0DL,
0xC67B5510L, 0x6D672C37L, 0x2765D43BL, 0xDCD0E804L,
0xF1290DC7L, 0xCC00FFA3L, 0xB5390F92L, 0x690FED0BL,
0x667B9FFBL, 0xCEDB7D9CL, 0xA091CF0BL, 0xD9155EA3L,
0xBB132F88L, 0x515BAD24L, 0x7B9479BFL, 0x763BD6EBL,
0x37392EB3L, 0xCC115979L, 0x8026E297L, 0xF42E312DL,
0x6842ADA7L, 0xC66A2B3BL, 0x12754CCCL, 0x782EF11CL,
0x6A124237L, 0xB79251E7L, 0x06A1BBE6L, 0x4BFB6350L,
0x1A6B1018L, 0x11CAEDFAL, 0x3D25BDD8L, 0xE2E1C3C9L,
0x44421659L, 0x0A121386L, 0xD90CEC6EL, 0xD5ABEA2AL,
0x64AF674EL, 0xDA86A85FL, 0xBEBFE988L, 0x64E4C3FEL,
0x9DBC8057L, 0xF0F7C086L, 0x60787BF8L, 0x6003604DL,
0xD1FD8346L, 0xF6381FB0L, 0x7745AE04L, 0xD736FCCCL,
0x83426B33L, 0xF01EAB71L, 0xB0804187L, 0x3C005E5FL,
0x77A057BEL, 0xBDE8AE24L, 0x55464299L, 0xBF582E61L,
0x4E58F48FL, 0xF2DDFDA2L, 0xF474EF38L, 0x8789BDC2L,
0x5366F9C3L, 0xC8B38E74L, 0xB475F255L, 0x46FCD9B9L,
0x7AEB2661L, 0x8B1DDF84L, 0x846A0E79L, 0x915F95E2L,
0x466E598EL, 0x20B45770L, 0x8CD55591L, 0xC902DE4CL,
0xB90BACE1L, 0xBB8205D0L, 0x11A86248L, 0x7574A99EL,
0xB77F19B6L, 0xE0A9DC09L, 0x662D09A1L, 0xC4324633L,
0xE85A1F02L, 0x09F0BE8CL, 0x4A99A025L, 0x1D6EFE10L,
0x1AB93D1DL, 0x0BA5A4DFL, 0xA186F20FL, 0x2868F169L,
0xDCB7DA83L, 0x573906FEL, 0xA1E2CE9BL, 0x4FCD7F52L,
0x50115E01L, 0xA70683FAL, 0xA002B5C4L, 0x0DE6D027L,
0x9AF88C27L, 0x773F8641L, 0xC3604C06L, 0x61A806B5L,
0xF0177A28L, 0xC0F586E0L, 0x006058AAL, 0x30DC7D62L,
0x11E69ED7L, 0x2338EA63L, 0x53C2DD94L, 0xC2C21634L,
0xBBCBEE56L, 0x90BCB6DEL, 0xEBFC7DA1L, 0xCE591D76L,
0x6F05E409L, 0x4B7C0188L, 0x39720A3DL, 0x7C927C24L,
0x86E3725FL, 0x724D9DB9L, 0x1AC15BB4L, 0xD39EB8FCL,
0xED545578L, 0x08FCA5B5L, 0xD83D7CD3L, 0x4DAD0FC4L,
0x1E50EF5EL, 0xB161E6F8L, 0xA28514D9L, 0x6C51133CL,
0x6FD5C7E7L, 0x56E14EC4L, 0x362ABFCEL, 0xDDC6C837L,
0xD79A3234L, 0x92638212L, 0x670EFA8EL, 0x406000E0L},
{0x3A39CE37L, 0xD3FAF5CFL, 0xABC27737L, 0x5AC52D1BL,
0x5CB0679EL, 0x4FA33742L, 0xD3822740L, 0x99BC9BBEL,
0xD5118E9DL, 0xBF0F7315L, 0xD62D1C7EL, 0xC700C47BL,
0xB78C1B6BL, 0x21A19045L, 0xB26EB1BEL, 0x6A366EB4L,
0x5748AB2FL, 0xBC946E79L, 0xC6A376D2L, 0x6549C2C8L,
0x530FF8EEL, 0x468DDE7DL, 0xD5730A1DL, 0x4CD04DC6L,
0x2939BBDBL, 0xA9BA4650L, 0xAC9526E8L, 0xBE5EE304L,
0xA1FAD5F0L, 0x6A2D519AL, 0x63EF8CE2L, 0x9A86EE22L,
0xC089C2B8L, 0x43242EF6L, 0xA51E03AAL, 0x9CF2D0A4L,
0x83C061BAL, 0x9BE96A4DL, 0x8FE51550L, 0xBA645BD6L,
0x2826A2F9L, 0xA73A3AE1L, 0x4BA99586L, 0xEF5562E9L,
0xC72FEFD3L, 0xF752F7DAL, 0x3F046F69L, 0x77FA0A59L,
0x80E4A915L, 0x87B08601L, 0x9B09E6ADL, 0x3B3EE593L,
0xE990FD5AL, 0x9E34D797L, 0x2CF0B7D9L, 0x022B8B51L,
0x96D5AC3AL, 0x017DA67DL, 0xD1CF3ED6L, 0x7C7D2D28L,
0x1F9F25CFL, 0xADF2B89BL, 0x5AD6B472L, 0x5A88F54CL,
0xE029AC71L, 0xE019A5E6L, 0x47B0ACFDL, 0xED93FA9BL,
0xE8D3C48DL, 0x283B57CCL, 0xF8D56629L, 0x79132E28L,
0x785F0191L, 0xED756055L, 0xF7960E44L, 0xE3D35E8CL,
0x15056DD4L, 0x88F46DBAL, 0x03A16125L, 0x0564F0BDL,
0xC3EB9E15L, 0x3C9057A2L, 0x97271AECL, 0xA93A072AL,
0x1B3F6D9BL, 0x1E6321F5L, 0xF59C66FBL, 0x26DCF319L,
0x7533D928L, 0xB155FDF5L, 0x03563482L, 0x8ABA3CBBL,
0x28517711L, 0xC20AD9F8L, 0xABCC5167L, 0xCCAD925FL,
0x4DE81751L, 0x3830DC8EL, 0x379D5862L, 0x9320F991L,
0xEA7A90C2L, 0xFB3E7BCEL, 0x5121CE64L, 0x774FBE32L,
0xA8B6E37EL, 0xC3293D46L, 0x48DE5369L, 0x6413E680L,
0xA2AE0810L, 0xDD6DB224L, 0x69852DFDL, 0x09072166L,
0xB39A460AL, 0x6445C0DDL, 0x586CDECFL, 0x1C20C8AEL,
0x5BBEF7DDL, 0x1B588D40L, 0xCCD2017FL, 0x6BB4E3BBL,
0xDDA26A7EL, 0x3A59FF45L, 0x3E350A44L, 0xBCB4CDD5L,
0x72EACEA8L, 0xFA6484BBL, 0x8D6612AEL, 0xBF3C6F47L,
0xD29BE463L, 0x542F5D9EL, 0xAEC2771BL, 0xF64E6370L,
0x740E0D8DL, 0xE75B1357L, 0xF8721671L, 0xAF537D5DL,
0x4040CB08L, 0x4EB4E2CCL, 0x34D2466AL, 0x0115AF84L,
0xE1B00428L, 0x95983A1DL, 0x06B89FB4L, 0xCE6EA048L,
0x6F3F3B82L, 0x3520AB82L, 0x011A1D4BL, 0x277227F8L,
0x611560B1L, 0xE7933FDCL, 0xBB3A792BL, 0x344525BDL,
0xA08839E1L, 0x51CE794BL, 0x2F32C9B7L, 0xA01FBAC9L,
0xE01CC87EL, 0xBCC7D1F6L, 0xCF0111C3L, 0xA1E8AAC7L,
0x1A908749L, 0xD44FBD9AL, 0xD0DADECBL, 0xD50ADA38L,
0x0339C32AL, 0xC6913667L, 0x8DF9317CL, 0xE0B12B4FL,
0xF79E59B7L, 0x43F5BB3AL, 0xF2D519FFL, 0x27D9459CL,
0xBF97222CL, 0x15E6FC2AL, 0x0F91FC71L, 0x9B941525L,
0xFAE59361L, 0xCEB69CEBL, 0xC2A86459L, 0x12BAA8D1L,
0xB6C1075EL, 0xE3056A0CL, 0x10D25065L, 0xCB03A442L,
0xE0EC6E0EL, 0x1698DB3BL, 0x4C98A0BEL, 0x3278E964L,
0x9F1F9532L, 0xE0D392DFL, 0xD3A0342BL, 0x8971F21EL,
0x1B0A7441L, 0x4BA3348CL, 0xC5BE7120L, 0xC37632D8L,
0xDF359F8DL, 0x9B992F2EL, 0xE60B6F47L, 0x0FE3F11DL,
0xE54CDA54L, 0x1EDAD891L, 0xCE6279CFL, 0xCD3E7E6FL,
0x1618B166L, 0xFD2C1D05L, 0x848FD2C5L, 0xF6FB2299L,
0xF523F357L, 0xA6327623L, 0x93A83531L, 0x56CCCD02L,
0xACF08162L, 0x5A75EBB5L, 0x6E163697L, 0x88D273CCL,
0xDE966292L, 0x81B949D0L, 0x4C50901BL, 0x71C65614L,
0xE6C6C7BDL, 0x327A140AL, 0x45E1D006L, 0xC3F27B9AL,
0xC9AA53FDL, 0x62A80F00L, 0xBB25BFE2L, 0x35BDD2F6L,
0x71126905L, 0xB2040222L, 0xB6CBCF7CL, 0xCD769C2BL,
0x53113EC0L, 0x1640E3D3L, 0x38ABBD60L, 0x2547ADF0L,
0xBA38209CL, 0xF746CE76L, 0x77AFA1C5L, 0x20756060L,
0x85CBFE4EL, 0x8AE88DD8L, 0x7AAAF9B0L, 0x4CF9AA7EL,
0x1948C25CL, 0x02FB8A8CL, 0x01C36AE4L, 0xD6EBE1F9L,
0x90D4F869L, 0xA65CDEA0L, 0x3F09252DL, 0xC208E69FL,
0xB74E6132L, 0xCE77E25BL, 0x578FDFE3L, 0x3AC372E6L}
};
Blowfish::Blowfish()
{
P_ = new unsigned long [18];
S_ = new unsigned long * [4];
for (int i = 0; i < 18; ++i)
P_[i] = INIT_P_[i];
for (int j = 0; j < 4; ++j)
{
S_[j] = new unsigned long [256];
for (int i = 0; i < 256; ++i)
S_[j][i] = INIT_S_[j][i];
}
}
Blowfish::~Blowfish()
{
delete [] P_;
for (int i = 0; i < 4; ++i)
delete [] S_[i];
delete [] S_;
}
int Blowfish::init (std::string bKey)
{
unsigned char * key = (unsigned char *) bKey.c_str ();
int len = bKey.length () + 1;
if (bKey.length () > 55)
return -1;
b32 data, data1;
for (int i = 0, j = 0; i < 18; ++i)
{
data.byte[3] = key[(j++)%len];
data.byte[2] = key[(j++)%len];
data.byte[1] = key[(j++)%len];
data.byte[0] = key[(j++)%len];
P_[i] ^= data.word;
}
data.word = 0x00000000;
data1.word = 0x00000000;
for (int i = 0; i < 18; i+=2)
{
encrypt_(&data1,&data);
P_[i] = data1.word;
P_[i+1] = data.word;
}
for (int j = 0; j < 4; ++j)
{
for (int i = 0; i < 256; i += 2)
{
encrypt_(&data1,&data);
S_[j][i] = data1.word;
S_[j][i+1] = data.word;
}
}
return 0;
}
inline unsigned long Blowfish::F_ (b32 *x)
{
return (((S_[0][x->byte[3]] + S_[1][x->byte[2]]) ^ S_[2][x->byte[1]]) + S_[3][x->byte[0]]);
}
void Blowfish::swap_ (b32 *w1, b32 * w2)
{
unsigned long swap;
swap = w1->word;
w1->word = w2->word;
w2->word = swap;
}
void Blowfish::encrypt_ (b32 *w1, b32 *w2)
{
w1->word ^= P_[0];
for (int i = 1; i < 17; ++i)
{
if (i % 2 == 0)
w1->word ^= F_(w2)^P_[i];
else
w2->word ^= F_(w1)^P_[i];
}
w2->word ^= P_[17];
swap_ (w1, w2);
}
void Blowfish::decrypt_ (b32 *w1, b32 *w2)
{
w1->word ^= P_[17];
for (int i = 16; i > 0 ; --i)
{
if (i % 2 == 1)
w1->word ^= F_(w2)^P_[i];
else
w2->word ^= F_(w1)^P_[i];
}
w2->word ^= P_[0];
swap_ (w1, w2);
}
void Blowfish::encryptBlock_ (unsigned char *b64)
{
b32 *w1 = (b32*)b64;
b32 *w2 = (b32*)(b64+4);
encrypt_(w1,w2);
}
void Blowfish::decryptBlock_ (unsigned char *b64)
{
b32 *w1 = (b32*)b64;
b32 *w2 = (b32*)(b64+4);
decrypt_(w1,w2);
}
unsigned char * Blowfish::encrypt (std::string str)
{
while (str.length () % 8 != 0)
str += (char)0;
unsigned char tmp [8];
unsigned char * buf = new unsigned char [str.length ()];
for (int i = 0; i < str.length () / 8; ++i)
{
for (int j = 0; j < 8; ++j)
tmp[j] = str[i * 8 + j];
encryptBlock_ (tmp);
for (int j = 0; j < 8; ++j)
buf[i * 8 + j] = tmp[j];
}
return buf;
}
std::string Blowfish::decrypt (unsigned char * str, int len)
{
std::string ret;
unsigned char buf [8];
for (int i = 0; i < len / 8; ++i)
{
for (int j = 0; j < 8; ++j)
buf[j] = str[i * 8 + j];
decryptBlock_ (buf);
for (int j = 0; j < 8; ++j)
ret += buf[j];
}
return ret;
}
up! )
В общем всё работает, с гейм сервером вовсю уже стал общаться, но столкнулся с одной дурацкой проблемой. Периодически (причём может как сразу, так и через 10 минут) приходит повторный пакет InitKey (в данный момент я тупо читаю что приходит с сервера, сам отсылают только NetPing когда сервер реквестит) после чего вся шифрация сбивается, причём я бы понял, если бы в одном как-то месте это происходило, но какой-то логики я так и не увидел в происходящем. Есть какие-нибудь идеи на этот счёт?
Вот типичный лог пакетов:
Connected!
Sending Login and Password
Requesting Server List
Getting Server List
Requesting Log into Game Server
Success!
Connecting to GameServer
Connected!
Init Key
Requesting Login: Game Server
Choosing char
Recieved SSQ Info
Requesting Manor List
Recieved Character Selected
Recieved Manor Info
Requesting Quest List
Recieved Quest List
Enter World
Requesting User Info
Update Abnormal Status
Recieved Macrolist
Recieved HennaInfo
Recieved User Info
Recieved Server Object Info
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved AgitDecoInfo
Recieved AgitDecoInfo
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Buy Message
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved AgitDecoInfo
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Message
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Buy Message
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved AgitDecoInfo
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Message
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Buy Message
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved SystemMessage
Recieved Etc Status Update
Recieved SystemMessage
Recieved FriendList
Recieved User Info
Recieved MagicAndSkillLost
Recieved Manor Info
Recieved Say2
Recieved Say2
Recieved Say2
Recieved Say2
Recieved 0x1B Unknown oO
Recieved User Info
Recieved ShortCutInit
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved NPC Info
Recieved Char Info
Recieved MoveToPawn
Recieved StopMove
Recieved Char Info
Recieved Char Info
Recieved NPC Info
Recieved Magic Skill Launched
Recieved MoveToPawn
Recieved Move To Location
Recieved NPC Info
Recieved Magic Skill Launched
Recieved Char Info
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved NPC Info
Recieved Move To Location
Recieved User Info
Update Abnormal Status
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved NPC Info
Recieved Magic Skill Launched
Recieved Char Info
Recieved Magic Skill Launched
Recieved NPC Info
Recieved Magic Skill Launched
Recieved AutoAttackStop
Recieved Char Info
Recieved Move To Location
Recieved NPC Info
Recieved MoveToPawn
Recieved Move To Location
Recieved MoveToPawn
Recieved MoveToPawn
Recieved Char Info
Recieved Char Info
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved SocialAction
Recieved Move To Location
Recieved MoveToPawn
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved NPC Info
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Char Info
Recieved Magic Skill Launched
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Target Selected
Recieved Char Info
Recieved Char Info
Recieved MoveToPawn
Recieved Char Info
Recieved NPC Info
Recieved Move To Location
Recieved StatusUpdate
Recieved StatusUpdate
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved NPC Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Delete Object
Recieved Target Unselected
Recieved Move To Location
Recieved Target Selected
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved MoveToPawn
Recieved Char Info
Recieved MoveToPawn
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved MoveToPawn
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved Move To Location
Recieved MagicSkillused
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Say2
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Target Selected
Recieved Move To Location
Recieved Char Info
Recieved Target Selected
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Say2
Recieved Target Selected
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Char Info
Recieved Relation Changed
Recieved Say2
Recieved Char Info
Recieved Relation Changed
Recieved Target Selected
Recieved Target Selected
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved Char Info
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved MoveToPawn
Recieved SocialAction
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved SocialAction
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved NPC Info
Recieved Move To Location
Recieved SocialAction
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved NPC Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Say2
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved NPC Info
Init Key
Добавлено спустя 59 минут 53 секунды:
йа долбаёп) Ошибка найдена
up! )
В общем всё работает, с гейм сервером вовсю уже стал общаться, но столкнулся с одной дурацкой проблемой. Периодически (причём может как сразу, так и через 10 минут) приходит повторный пакет InitKey (в данный момент я тупо читаю что приходит с сервера, сам отсылают только NetPing когда сервер реквестит) после чего вся шифрация сбивается, причём я бы понял, если бы в одном как-то месте это происходило, но какой-то логики я так и не увидел в происходящем. Есть какие-нибудь идеи на этот счёт?
Вот типичный лог пакетов:
Connected!
Sending Login and Password
Requesting Server List
Getting Server List
Requesting Log into Game Server
Success!
Connecting to GameServer
Connected!
Init Key
Requesting Login: Game Server
Choosing char
Recieved SSQ Info
Requesting Manor List
Recieved Character Selected
Recieved Manor Info
Requesting Quest List
Recieved Quest List
Enter World
Requesting User Info
Update Abnormal Status
Recieved Macrolist
Recieved HennaInfo
Recieved User Info
Recieved Server Object Info
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved AgitDecoInfo
Recieved AgitDecoInfo
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Buy Message
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved AgitDecoInfo
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Message
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Buy Message
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved AgitDecoInfo
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved DoorInfo
Recieved DoorStatusUpdate
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved NPC Info
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Message
Recieved Relation Changed
Recieved Char Info
Recieved Private Store Buy Message
Recieved Relation Changed
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved NPC Info
Recieved SystemMessage
Recieved Etc Status Update
Recieved SystemMessage
Recieved FriendList
Recieved User Info
Recieved MagicAndSkillLost
Recieved Manor Info
Recieved Say2
Recieved Say2
Recieved Say2
Recieved Say2
Recieved 0x1B Unknown oO
Recieved User Info
Recieved ShortCutInit
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved NPC Info
Recieved Char Info
Recieved MoveToPawn
Recieved StopMove
Recieved Char Info
Recieved Char Info
Recieved NPC Info
Recieved Magic Skill Launched
Recieved MoveToPawn
Recieved Move To Location
Recieved NPC Info
Recieved Magic Skill Launched
Recieved Char Info
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved NPC Info
Recieved Move To Location
Recieved User Info
Update Abnormal Status
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved NPC Info
Recieved Magic Skill Launched
Recieved Char Info
Recieved Magic Skill Launched
Recieved NPC Info
Recieved Magic Skill Launched
Recieved AutoAttackStop
Recieved Char Info
Recieved Move To Location
Recieved NPC Info
Recieved MoveToPawn
Recieved Move To Location
Recieved MoveToPawn
Recieved MoveToPawn
Recieved Char Info
Recieved Char Info
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved SocialAction
Recieved Move To Location
Recieved MoveToPawn
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved NPC Info
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Char Info
Recieved Magic Skill Launched
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Target Selected
Recieved Char Info
Recieved Char Info
Recieved MoveToPawn
Recieved Char Info
Recieved NPC Info
Recieved Move To Location
Recieved StatusUpdate
Recieved StatusUpdate
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved NPC Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Delete Object
Recieved Target Unselected
Recieved Move To Location
Recieved Target Selected
Recieved Char Info
Recieved MoveToPawn
Recieved Move To Location
Recieved MoveToPawn
Recieved Char Info
Recieved MoveToPawn
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved MoveToPawn
Recieved Char Info
Recieved Relation Changed
Recieved Char Info
Recieved Relation Changed
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved Move To Location
Recieved MagicSkillused
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Say2
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Target Selected
Recieved Move To Location
Recieved Char Info
Recieved Target Selected
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Say2
Recieved Target Selected
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Char Info
Recieved Relation Changed
Recieved Say2
Recieved Char Info
Recieved Relation Changed
Recieved Target Selected
Recieved Target Selected
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved Char Info
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved MoveToPawn
Recieved SocialAction
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved SocialAction
Recieved Move To Location
Recieved Move To Location
Recieved Move To Location
Recieved NPC Info
Recieved Move To Location
Recieved SocialAction
Recieved Move To Location
Recieved Char Info
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved MoveToPawn
Recieved Move To Location
Recieved NPC Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved Say2
Recieved Move To Location
Recieved Char Info
Recieved Move To Location
Recieved Move To Location
Recieved Target Selected
Recieved NPC Info
Recieved MagicSkillused
Recieved Magic Skill Launched
Recieved NPC Info
Init Key
Добавлено спустя 59 минут 53 секунды:
йа долбаёп) Ошибка найдена
DeuX, Привет, слушай надо поговорить вот моя ася 271976661 если нетрудно напиши
DeuX, Привет, слушай надо поговорить вот моя ася 271976661 если нетрудно напиши
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot