Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 12.01.2010, 01:07   #1
Местный
 
Регистрация: 08.05.2008
Сообщений: 107
Сказал Спасибо: 6
Имеет 12 спасибок в 6 сообщенях
finomen пока неопределено
По умолчанию И опять Init (авторизация)

В поиск прошу не посылать, перечитал уже кучу веток.

итак, правильно ли расшифровываеться пакет (от шока)?
Код:
Connected                         
Packet size: 186                  
______________________________________________________
0x00 | ba 00 d4 38 d7 c5 97 bf 98 d5 ad 92 fa b6 bb 09 
0x10 | a5 f5 75 34 6a 7e be b1 1a 41 76 39 de d3 cd 11 
0x20 | d7 7d 1f 2d 57 09 b9 ae 91 8c 02 e5 75 bb 93 1c 
0x30 | 5a b5 71 9d e5 52 cd 24 77 4b df 0e 5a 1d 11 3b 
0x40 | f0 b8 74 e7 49 e4 9e e1 56 b2 ea 12 ee f2 f8 ae 
0x50 | 80 53 3c 4c cf 03 96 a2 65 87 2d 48 2e 4f a1 62 
0x60 | 8c 09 35 8c 38 12 32 ea bf 09 4a 6f 7c 05 4f a3 
0x70 | 49 d4 f2 b9 50 ab 85 f4 c5 cd 47 3d 74 a8 a2 8f 
0x80 | 75 c4 5c ac 8d fe dc fd 87 3d 6a 93 0d 86 23 75 
0x90 | c0 b6 ca 82 89 26 de ca d6 c2 4d 9d c9 73 ba 95 
0xa0 | d5 c0 47 30 5a ea b9 48 7b 07 e4 99 a6 27 e3 8b 
0xb0 | 29 3c 1a 78 5d eb 5f 3a 39 da 00 00             

Decrypt BlowFish
______________________________________________________
0x00 | ba 00 00 04 ff 02 28 2d 84 85 b4 db 13 c0 0e db 
0x10 | a6 3b 44 c7 ff c7 53 e5 17 bd d0 62 7c 0b 98 d8 
0x20 | d0 72 4a 2c 67 ec 1e 61 27 1c 5a dd 7c 5e 92 87 
0x30 | d4 67 d2 1c 40 95 c0 33 31 a9 cd 3a 50 21 2d 9f 
0x40 | f0 b3 6c 0d 74 c0 3e 44 f1 5b 5d e8 56 84 18 53 
0x50 | 42 8b ab 8b ae c2 4e eb 6c 59 c0 4d 71 40 bc 58 
0x60 | c4 7f 35 16 17 95 3e 15 3e e5 57 2a a2 46 06 a0 
0x70 | db 19 63 8f 9a a5 4a 5d 07 93 bc ef 6b 79 79 3d 
0x80 | de 94 d8 46 49 5a 86 34 bb 0b 37 b6 39 a2 9c 2d 
0x90 | 08 0f 85 cd 05 f5 c8 f2 70 c2 f7 37 8a f6 fc 2d 
0xa0 | 1c 92 9a 84 7a e2 fc b1 55 7b 5b cd bc bc ab 29 
0xb0 | 3e 33 b2 d4 dd 2b 44 52 aa 91 26 0b

Decrypt XOR
______________________________________________________
0x00 | dd 2b 44 52

______________________________________________________
0x00 | ba 00 00 04 ff 02 28 2d 95 45 b2 8e 8d 07 b5 67
0x10 | 45 fa f6 1d 0e 8b 7c 07 33 ba 58 d5 ac c6 ad 34
0x20 | 8b 56 bf f2 86 f7 d4 43 fb 41 c8 5d d0 00 c0 7b
0x30 | 94 14 6d 12 af f3 83 d6 e1 77 d7 af 60 6d 89 65
0x40 | e4 73 75 49 3b 94 93 13 df 27 5a 59 94 fc 8e d9
0x50 | e8 c9 9a 10 02 e4 0e 28 63 99 5b 75 35 e6 50 b5
0x60 | d1 ec ec fc e9 c9 72 ff 60 dc ad 75 fb af 26 2b
0x70 | 41 7a 29 a2 61 29 21 38 de cb 6b d5 d9 12 51 03
0x80 | 97 3e 5d ad 22 5d 89 a6 6c 56 5c 53 31 a7 19 66
0x90 | f3 85 32 e3 75 b7 38 e3 06 e8 03 13 7e 67 86 56
0xa0 | 36 0c f1 d4 a9 a6 c9 72 e1 1f 33 25 46 ae e5 e2
0xb0 | e3 18 f6 86 00 00 00 00 aa 91 26 0b

Proto: -1304062675
______________________________________________________
0x00 | 2d 95 45 b2
скромный код (вроде нигде не накосячил)
Код:
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>


#include <iostream>

#include <openssl/blowfish.h>

int print_packet(char *raw, int len) {
int i, c = 0;

for(i=0;i<54;i++) printf("_");

for(i=0;i<len;i++)
{
if((c % 0x10)==0) 
  printf("\n0x%.2x | ", c);
printf("%.2x ",raw[i] & 0xFF);
c++;

}
printf("\n\n");
}
void XORdecrypt( unsigned char *data, unsigned int len, unsigned char *Key )
{
 int i,k;
 i=len-8;
 k=(*((int*)Key));
 while(i>=6)
 {
   *((int*)&data[i])=(*((int*)&data[i]))^k;
   k=k-(*((int*)&data[i]));
   i=i-4;
 }
 
}
using namespace std;
int main(void)
{
 int sock=0;
 sock=socket(AF_INET,SOCK_STREAM,0);
 if (sock==-1)
   cerr<<"Create socket"<<endl;
 
 struct hostent     *he;
  struct sockaddr_in  server;
  int                 sockfd;

/* resolve localhost to an IP (should be 127.0.0.1) */
  if ((he = gethostbyname("95.211.81.129")) == NULL) {
    cerr<<"error resolving hostname.."<<endl;
    return 1;
  }

/*
 * copy the network address part of the structure to the 
 * sockaddr_in structure which is passed to connect() 
 */
  memcpy(&server.sin_addr, he->h_addr_list[0], he->h_length);
  server.sin_family = AF_INET;
  server.sin_port = htons(2106);

/* connect */
  if (connect(sock, (struct sockaddr *)&server, sizeof(server))) {
    cerr<<"error connecting.."<<endl;
    return 1;
  }
  cout<<"Connected"<<endl;
  
  short pack_size;
  recv(sock,(char*)&pack_size,2,0);
  cout<<"Packet size: "<<pack_size<<endl;
  char *buf=new char[pack_size+2];
  recv(sock,buf+2,pack_size,0);
  memcpy(buf,&pack_size,2);
  print_packet(buf,pack_size+2);
   
   cout<<"Decrypt BlowFish"<<endl;
   unsigned char bkey[16]={0x6B,0x60,0xCB,0x5B,0x82,0xCE,0x90,0xB1,0xCC,0x2B,0x6C,0x55,0x6C,0x6C,0x6C,0x6C};
  BF_KEY bfkey; 
  BF_set_key(&bfkey, 16, (unsigned char *)bkey);
  
  for(int i = 0; i <(pack_size-2)/4; i++)
    BF_decrypt((BF_LONG *)(&buf[2+i*4]), &bfkey);
  
  print_packet(buf,pack_size+2);
  
  cout<<"Decrypt XOR"<<endl;
  
  int i=180;
    print_packet((char*)&key,4);
 print_packet((buf+i),4);
  XORdecrypt((unsigned char*)(buf),pack_size+2,(unsigned char*)(buf+i));
 
  print_packet(buf,pack_size+2);
  
int proto=0;
  memcpy((char*)&proto,&buf[2+1+4],4);
  cout<<"Proto: "<<proto<<endl;
  print_packet((char*)&proto,4);
  delete []buf;
  close(sock);
  return 0;
}

Последний раз редактировалось finomen, 12.01.2010 в 01:09.
finomen вне форума   Ответить с цитированием
Старый 12.01.2010, 02:18   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

finomen, у тебя по BF неверно дешифруется, если я правильно понял код то ты по BF дешифруешь блоками по 4 байта, в то время как BF работает с блоками в 8 байт...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 12.01.2010, 12:35   #3
Местный
 
Регистрация: 08.05.2008
Сообщений: 107
Сказал Спасибо: 6
Имеет 12 спасибок в 6 сообщенях
finomen пока неопределено
По умолчанию

спасибо, просто наткнулся на статью где написано что блоками по 4.
но теперь странность...хвост пакета-нули...
да, 186 не кратно 8. блоуфишем не весь пакет зашифрован?

Код:
Connected                         
Packet size: 186                  
______________________________________________________
0x00 | ba 00 90 a8 e1 37 61 5d 3b c5 f3 a3 0a c8 fe 89 
0x10 | a7 3b 36 5d e3 fe bd d6 70 a3 8c f0 12 5d c3 5c 
0x20 | 2a 2d 50 58 9f 8a bd 8a 4b bf ca db e8 b1 3f 3e 
0x30 | 0c 8e 93 66 43 e5 56 33 5a 82 8c b3 b7 ac 33 2d 
0x40 | 93 db 41 2e 59 ad ee f7 28 c6 8d 15 16 4a 60 e7 
0x50 | 1e b3 61 a2 eb d9 1c fb 1f cf 21 4a fc 52 e8 f3 
0x60 | 33 e2 23 d1 ba 12 95 fb c6 f2 e3 8d c6 be eb 6d 
0x70 | a8 c7 36 9e 88 14 65 06 1c de bc a1 ad c4 4e c6 
0x80 | 3d 7d b7 aa 65 25 70 94 6e 44 53 18 1e 4a 9b c0 
0x90 | e2 e8 c2 06 ab 87 66 bf d7 9d b5 3b 13 64 2e ec 
0xa0 | 32 21 45 25 6f 0f 63 89 4d 2f 62 2a f8 6e b3 f6 
0xb0 | 10 95 4a d7 cd cd 3e 59 2e 87 00 00             

Decrypt BlowFish
______________________________________________________
0x00 | ba 00 00 ff 29 05 33 de 66 4f 33 01 a7 b1 3f 40 
0x10 | 13 0d 8f 99 c0 af 8c b3 a2 a8 ab 71 e4 f4 cf cd 
0x20 | b7 6c 15 d4 fd 7a 1e 11 57 2c a8 39 6d c3 e8 ad 
0x30 | 35 42 fc 44 12 8d 2f 5f 71 00 8d 68 ad 7b 16 8e 
0x40 | 16 ab 0c 71 21 2c 90 1b d5 f2 48 e3 2e 3d 38 6a 
0x50 | e0 8a de b0 e4 dd ff 26 ad cc 1c cb 98 e9 ac d2 
0x60 | 3a ee 68 10 f2 f9 95 e5 3f dd cd 2e b4 38 90 3b 
0x70 | 9b fd b9 11 64 89 de f8 1f 2a ff 08 bb ad 15 8b 
0x80 | a7 77 d5 95 27 40 af 53 ae e1 c5 45 b6 9e 86 fb 
0x90 | 5c c5 51 08 c0 19 2a e8 b7 cf c3 1f 59 9e 3c 80 
0xa0 | fd d9 41 6d d4 0f 6f a3 1a 67 b0 58 c3 f1 80 58 
0xb0 | c3 f1 80 58 c3 f1 00 00 00 00 00 00

Decrypt XOR
______________________________________________________
0x00 | c3 f1 00 00

______________________________________________________
0x00 | ba 00 00 ff 29 05 33 de c5 00 1d c1 4a bb 48 c7
0x10 | d3 53 0c c9 9e f8 e4 bd be fc e1 bb 77 d0 c2 81
0x20 | 12 b6 e4 c4 2e 51 b6 e8 42 13 00 62 be 7e 23 69
0x30 | 3b cf 19 ea c3 72 a5 f8 d2 39 83 e6 47 21 e5 20
0x40 | f7 b8 9c 6b 6a 9d a8 c4 c7 21 9f 8a 8e b7 76 05
0x50 | 3c 20 e8 a9 87 99 e4 1f 35 e5 80 79 42 74 0b 3d
0x60 | f4 b9 e2 f2 1b d5 a7 03 ab fa 5d f5 d1 cc 06 34
0x70 | ff 84 17 09 93 6c 38 f0 94 b7 0c 80 18 5a d9 01
0x80 | 42 48 8c a7 71 a1 eb 10 3c 84 40 b1 92 dd c8 03
0x90 | 9c c3 8b 2f ab ad e8 f7 ee bd 00 60 02 b7 fc 2c
0xa0 | 51 dc 50 f0 3e 55 3f 1b d9 96 30 f0 00 00 00 ff
0xb0 | 00 00 80 58 00 00 00 00 00 00 00 00

Proto: 486589918
______________________________________________________
0x00 | de c5 00 1d
finomen вне форума   Ответить с цитированием
Старый 12.01.2010, 12:41   #4
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

первые 2 байта - размер пакета... не шифруется.. как бы...
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 12.01.2010, 12:51   #5
Местный
 
Регистрация: 08.05.2008
Сообщений: 107
Сказал Спасибо: 6
Имеет 12 спасибок в 6 сообщенях
finomen пока неопределено
По умолчанию

186 это без 2 байт, если я правильно понял...это собственно то что прочитано из этих 2 байт

а вот последние 2 байта нули...всегда причем.

Последний раз редактировалось finomen, 12.01.2010 в 12:57.
finomen вне форума   Ответить с цитированием
Старый 12.01.2010, 13:02   #6
Местный
 
Аватар для Sherman
 
Регистрация: 24.04.2008
Сообщений: 364
Сказал Спасибо: 15
Имеет 116 спасибок в 83 сообщенях
Sherman пока неопределено
По умолчанию

Сервер в ПМ напиши )
Sherman вне форума   Ответить с цитированием
Старый 12.01.2010, 13:05   #7
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

finomen, думаю.. не осилишь...
ибо "ba 00" = 186...
а длина пакета без первых двух байтов длинны = 184.. что прекрасно разбивается на блоки по 8 байт...
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 12.01.2010 в 13:10.
alexteam вне форума   Ответить с цитированием
Старый 12.01.2010, 13:13   #8
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

alexteam, думаешь он в курсе что эти два байта содержат размер всего пакета а не только той части что за ними?)

Добавлено через 1 минуту
finomen, короч уменьши размер пакета на два и будет тебе счастье)
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 12.01.2010 в 13:13. Причина: Добавлено сообщение
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 12.01.2010, 13:24   #9
Местный
 
Регистрация: 08.05.2008
Сообщений: 107
Сказал Спасибо: 6
Имеет 12 спасибок в 6 сообщенях
finomen пока неопределено
По умолчанию

спасибо. получилось. я не думал что нулями пакет дополнят после шифрования...
finomen вне форума   Ответить с цитированием
Старый 12.01.2010, 13:41   #10
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

finomen, эм, а где пакет дополнен нулями после шифрования? оО
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 22:56.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!