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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 13.11.2014, 11:44   #1
Новичок
 
Регистрация: 13.11.2014
Сообщений: 20
Сказал Спасибо: 2
Имеет 1 спасибку в 1 сообщении
i_am_kisly пока неопределено
По умолчанию Проблема с L2 Init Blowfish

День добрый, начал писать свой чат-клиент под android на Csharp/xamarin.
Столкнулся с проблемой дешифрования блоуфишем.

Набросал самый простой минимальный код без излишеств, скриншот output'а прилагаю.

Код:
using System;
using System.Text;

namespace l2packet
{
    unsafe class MainClass
    {
        public static byte[] StringToByteArray(String hex)
        {
            int NumberChars = hex.Length;

            byte[] bytes = new byte[NumberChars / 2];

            for (int i = 0; i < NumberChars; i += 2)
                bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);

            return bytes;
        }

        public static void Main (string[] args)
        {
            byte[] STATIC_BLOWFISH_KEY = new byte[32];
            string key = "6B60CB5B82CE90B1CC2B6C556C6C6C6C";
//or
            STATIC_BLOWFISH_KEY[0]  = 0x6B;
            STATIC_BLOWFISH_KEY[1]  = 0x60;
            STATIC_BLOWFISH_KEY[2]  = 0xCB;
            STATIC_BLOWFISH_KEY[3]  = 0x5B;
            STATIC_BLOWFISH_KEY[4]  = 0x82;
            STATIC_BLOWFISH_KEY[5]  = 0xCE;
            STATIC_BLOWFISH_KEY[6]  = 0x90;
            STATIC_BLOWFISH_KEY[7]  = 0xB1;
            STATIC_BLOWFISH_KEY[8]  = 0xCC;
            STATIC_BLOWFISH_KEY[9]  = 0x2B;
            STATIC_BLOWFISH_KEY[10] = 0x6C;
            STATIC_BLOWFISH_KEY[11] = 0x55;
            STATIC_BLOWFISH_KEY[12] = 0x6C;
            STATIC_BLOWFISH_KEY[13] = 0x6C;
            STATIC_BLOWFISH_KEY[14] = 0x6C;
            STATIC_BLOWFISH_KEY[15] = 0x6C;

            //C200 вырезал заголовок с размером из пакета
            string str = "9B09F43C6A02BE5DD3D485782B8F54B46F15D32B602D6D9330A3A40519291A8C193BC97F0F05CD004DADD2B01C3B494195DFAE760E00C576690E141826583405CF573B374E2ED2DC0270D8DADB7294F03CDF5757E4CC7D4BD45F73CDABA5C3D53D3A46B8E4E1A5FCB5E1695E05EBD8FF2702FFE6E5FF5B5367FB926F5DFED57A84E5BAD3901EB97E788804F6F03625B82637C2C5E0170FDFECA65FEDA0D5177899AB73432E83182547B870D923554C03A0AB2F50375D0631A27D68707A147A37";
            byte[] bytes_ = StringToByteArray (str);

            additionals ad = new additionals();

            fixed (byte *pbuf = &bytes_[0]){ //TODO: add overload view_raw_data( <- byte of array) later
                ad.view_raw_data(pbuf,true,192);
                    }

            L2_login.NewCrypt newc = new L2_login.NewCrypt (STATIC_BLOWFISH_KEY);
            byte[] res = newc.decrypt (bytes_);

            fixed (byte *ppbuf = &res[0]){
                ad.view_raw_data(ppbuf,true,192);

            }

            }
        }
    }
На выводе получаю явно что-то не то (

Использовал исходники L2.net (он же L2_Login)
Что я делаю не так ?
Миниатюры
Нажмите на изображение для увеличения
Название: init.png
Просмотров: 864
Размер:	54.8 Кб
ID:	2920  
Вложения
Тип файла: zip Crypting.zip (4.1 Кб, 117 просмотров)
i_am_kisly вне форума   Ответить с цитированием
 

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



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

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


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

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

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