Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.03.2013, 21:20   #1
Пользователь
 
Регистрация: 05.03.2010
Сообщений: 46
Сказал Спасибо: 0
Имеет 14 спасибок в 9 сообщенях
Deadly пока неопределено
По умолчанию Стандартный Алгоритм шифрации L2 C#

Если вы играете на сервере, на нем много народу, и нету бота в шаре(ток у избранных) пишите пм адрес сервера(и если знаете текущую ситуацию с этим тоже пишите, и если знаете обход шифрации запилю бесплатно).
А да сам код
Код:
/*
 1 - передаче подлежит полный пакет без обрезанных первых 2 байт;
 2 - по идее должно быть 4 ключа, 1-н которым шифрует от сервера другой который шифрует до клиента и еще 2 от клиента до сервера логичне всего  определить эти 4 ключа гдето в начале программы, алгоритм должен быть следующим 1 ключ на дешифровку от сервера 1 ключ на шифровку к клиенту,  и в конце оба ключа должны по идеии увеличиваться на то число байт на которое были увеличины или уменьшены, еще нужно передать размер сообщения не забываем про первые 2 байта;
 3 - мы можем впринципе ничего не возращать тк все изменяется во время выполнения;
 4 - это для гс не забываем что шифтрация начинается с 3 пакета
 */


using System;
namespace Crypt
{
    public class Crypt
    {
    

         void crypt(ref byte[] data,int length,ref byte[] key) //1 
         {
                byte temp1 = 0;
                for (int i = 2; i < length; i++)
                {
                    byte temp2 = data[i];
                    data[i] = Convert.ToByte((temp2 ^ (key[(i - 2) % 16]) ^ temp1));
                    temp1 = temp2;
                }
                //расшифрован                  
     //Здесь можно произвести какието махинации, если меняется длинна пакета то необходимо изменить размер
                //шифровка
                temp1 = 0;
                for (int i = 2; i < length; i++)
                {
                    byte temp2 = data[i];
                    data[i] = Convert.ToByte((temp2 ^ (key[(i - 2) % 16]) ^ temp1));
                    temp1 = data[i];
                }
             BitConverter.GetBytes(BitConverter.ToInt64(key, 8) + length - 2).CopyTo(key, 8); // забавно на сколько c# облегчил жизнь)))   
            }
    }
}
думаю многим будет полезно.

Последний раз редактировалось Deadly, 11.03.2013 в 21:39.
Deadly вне форума   Ответить с цитированием
За это сообщение Deadly нажился 3 спасибками от:
Старый 27.04.2013, 15:31   #2
Новичок
 
Регистрация: 27.04.2013
Сообщений: 1
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
rszpua пока неопределено
По умолчанию

Спасибо, да действительно, теперь хотя бы понятно как это работает. =)
rszpua вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack


Опции темы
Опции просмотра

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

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


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

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

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