Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг > Шифрации серверов
Войти через OpenID

Шифрации серверов Здесь разбираемся с алгоритмами шифрации различных серверов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 18.09.2016, 02:07   #1
Новичок
 
Регистрация: 12.09.2016
Сообщений: 6
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Активист пока неопределено
Вопрос Вопросы по дешифрации.

Хроники infinite odyssey.
1. Настроил phx. Выполнено.
Оффтоп

2. И началось.
Завел перса, усадил на 5ю точку, выставил на панельку скилл(id=30514).
Умение маятник _l2central.info/wiki/Маятник_-_Боец_Сайхи
Выполнено.
Оффтоп

3. И тут я начал сомневаться в своих действиях,
Нашел стандартное строение нужного мне пакета под GOD в файлах пнх.
Выполнено преобразование.
39=RequestMagicSkillUse:d(skillID:Get.Skill)d(Ctrl Pressed)c(ShiftPressed)

Во что нужно id скила преобразовывать?
преобразовал в DWord и получилось
39 32 77 00 00 00 00 00 00 00 Правильный формат.
преобразовал в Byte и получилось
39 32 00 00 00 00 00 00 00 00 Не правильный
Оффтоп

4. Следующее действие, набор логов для сравнения.
Решил со скилом немного повременить и взять за пример пакет разрыва пати.
В interlud-е он
2B=RequestWithDrawalParty:

В моем случае должен быть
44=RequestWithDrawalParty:

Последний раз редактировалось Активист, 18.09.2016 в 12:44. Причина: Добавил информации
Активист вне форума   Ответить с цитированием
Старый 18.09.2016, 08:00   #2
Новичок
 
Регистрация: 20.09.2015
Сообщений: 6
Сказал Спасибо: 0
Имеет 5 спасибок в 4 сообщенях
Александр Шестаков пока неопределено
По умолчанию

c(ShiftPressed занимает 1 байт, а не 4, т.е
Формат:
2F
XX XX XX XX // ID скилла
XX XX XX XX // состояние CTRL : 00 - отпущен, 01 - нажат
XX // состояние SHIFT: 00 - отпущен, 01 - нажат
Александр Шестаков вне форума   Ответить с цитированием
За это сообщение Александр Шестаков нажился спасибкой от:
Старый 18.09.2016, 12:49   #3
Новичок
 
Регистрация: 12.09.2016
Сообщений: 6
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Активист пока неопределено
По умолчанию

RAW логи без разрывов
Почему RAW лог идет по типу 0300 E2 сам пакет
Код:
Так должен выглядеть пакет
030044	68	Разница  
-----------------------------
0300E2	226	+158
0300CE	206	+138
030025	37	-31
030001	1	-67
03002A	42	-26
0300EB	235	+167
030023	35	-33
030016	22	-46
03001A	26	-42
0300B3	179	+111
0300D6	214	+146
030077	119	+51
0300DD	221	+153
03000D	13	-55
0300C1	193	+125
030052	82	+14
0300D0	208	+140
030077	119	+51
03009C	156	+88
03009C	156	+88
030054	84	+16
030072	114	+46
030021	33	-35
03000E	14	-54
030090	144	+76
030065	101	+33
030063	99	+31
030015	21	-47
03005A	90	+22
0300E6	230	+162
030041	65	-3
030006	6	-62
0300D1	209	+141
030092	146	+78
030025	37	-31
03000E	14	-54
030028	40	-28
030010	16	-52
0300C7	199	+131
030033	51	-17
030038	56	-12
030072	114	+46
0300A3	163	+95
03008D	141	+73
030021	33	-35
030098	152	+84
0300D2	210	+142
030007	7	-61
0300EC	236	+168
030040	64	-4
0300F8	248	+180
0300A8	168	+100
030079	121	+53
0300C5	197	+129
030054	84	+16
030020	32	-36
030005	5	-63
0300B4	180	+112
0300A2	162	+94
030074	116	+48
03007E	124	+54
030068	104	+36
0300E3	227	+159
030095	149	+81
0300DB	219	+151
03005E	94	+26
030052	82	+14
030031	49	-19
03004B	75	+7
Оффтоп

Последний раз редактировалось Активист, 18.09.2016 в 21:25.
Активист вне форума   Ответить с цитированием
Старый 19.09.2016, 05:20   #4
Местный
 
Регистрация: 04.11.2009
Адрес: Где-то в жопе европы
Сообщений: 316
Сказал Спасибо: 32
Имеет 42 спасибок в 39 сообщенях
wimax пока неопределено
По умолчанию

Трафик дишыфруеца с 3 пакета

Добавлено через 7 минут
Код:
public class Crypt implements ICrypt
{
	private final L2GameClient _client;
	private final byte[] _inKey = new byte[16];
	private final byte[] _outKey = new byte[16];
	private boolean _isEnabled;
	
	public Crypt(L2GameClient client)
	{
		_client = client;
	}
	
	public void setKey(byte[] key)
	{
		System.arraycopy(key, 0, _inKey, 0, 16);
		System.arraycopy(key, 0, _outKey, 0, 16);
	}
	
	@Override
	public void encrypt(ByteBuf buf)
	{
		if (!_isEnabled)
		{
			_isEnabled = true;
			onPacketSent(buf);
			return;
		}
		
		onPacketSent(buf);
		
		int a = 0;
		while (buf.isReadable())
		{
			final int b = buf.readByte() & 0xFF;
			a = b ^ _outKey[(buf.readerIndex() - 1) & 15] ^ a;
			buf.setByte(buf.readerIndex() - 1, a);
		}
		
		shiftKey(_outKey, buf.writerIndex());
	}
	
	@Override
	public void decrypt(ByteBuf buf)
	{
		if (!_isEnabled)
		{
			onPacketReceive(buf);
			return;
		}
		
		int a = 0;
		while (buf.isReadable())
		{
			final int b = buf.readByte() & 0xFF;
			buf.setByte(buf.readerIndex() - 1, b ^ _inKey[(buf.readerIndex() - 1) & 15] ^ a);
			a = b;
		}
		
		shiftKey(_inKey, buf.writerIndex());
		
		onPacketReceive(buf);
	}
	
	private void onPacketSent(ByteBuf buf)
	{
		byte[] data = new byte[buf.writerIndex()];
		buf.getBytes(0, data);
		EventDispatcher.getInstance().notifyEvent(new OnPacketSent(_client, data));
	}
	
	private void onPacketReceive(ByteBuf buf)
	{
		byte[] data = new byte[buf.writerIndex()];
		buf.getBytes(0, data);
		EventDispatcher.getInstance().notifyEvent(new OnPacketReceived(_client, data));
	}
	
	private void shiftKey(byte[] key, int size)
	{
		int old = key[8] & 0xff;
		old |= (key[9] << 8) & 0xff00;
		old |= (key[10] << 0x10) & 0xff0000;
		old |= (key[11] << 0x18) & 0xff000000;
		
		old += size;
		
		key[8] = (byte) (old & 0xff);
		key[9] = (byte) ((old >> 0x08) & 0xff);
		key[10] = (byte) ((old >> 0x10) & 0xff);
		key[11] = (byte) ((old >> 0x18) & 0xff);
	}
}

Последний раз редактировалось wimax, 19.09.2016 в 05:20. Причина: Добавлено сообщение
wimax вне форума   Ответить с цитированием
За это сообщение wimax нажился спасибкой от:
Старый 20.09.2016, 01:13   #5
Новичок
 
Регистрация: 12.09.2016
Сообщений: 6
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Активист пока неопределено
По умолчанию

Код не понятен*(
Тему скриптинг гляну, там видел несколько похожих обозначений.

Нашел откуда этот код, теперь нужно его проанализировать*)
С тем, что был раньше.

Добавлено через 8 часов 43 минуты
Думал обойдусь без разбора полностью пакетов если просто пойму по какой формуле шифруется, но не тут то было, формулу не так просто найти, придется полностью весь код разбирать, что к чему, хоть ставь свой сервак и на его примере разбирайся как оно все пашет*(
Буду курить эти фак-и если есть что то по новее в смысле хроник GOD с небольшими изменениями, буду очень признателен.

http://www.la2kings.ru/la2bot/packets.html#PlayOk
http://fursoffers.narod.ru/Packets.htm

Последний раз редактировалось Активист, 20.09.2016 в 01:13. Причина: Добавлено сообщение
Активист вне форума   Ответить с цитированием
Старый 20.09.2016, 02:43   #6
Местный
 
Регистрация: 04.11.2009
Адрес: Где-то в жопе европы
Сообщений: 316
Сказал Спасибо: 32
Имеет 42 спасибок в 39 сообщенях
wimax пока неопределено
По умолчанию

Мб у тебя нету шифрации? ты выдумуеш?)
wimax вне форума   Ответить с цитированием
Старый 20.09.2016, 05:25   #7
Новичок
 
Регистрация: 12.09.2016
Сообщений: 6
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Активист пока неопределено
По умолчанию

Цитата:
Сообщение от wimax Посмотреть сообщение
Мб у тебя нету шифрации? ты выдумуеш?)
Года 2 назад играючи на этом же сервере чуть ниже хрониками, я пользовался пнх для привязки к местности используя кликер, и так же ловлей 2-х пакетов тыкать лсы.
Раньше эти пакеты создавались 1 раз на сессию и при повторе этих пакетов все работало, а сейчас каждый запуск одного и того же действия пакет изменяется и привязан к предыдущему, так как при повторной отправке этого пакета коннект рушится.
Активист вне форума   Ответить с цитированием
Старый 22.09.2016, 01:47   #8
Новичок
 
Регистрация: 12.09.2016
Сообщений: 6
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Активист пока неопределено
По умолчанию

Скачал с инета не сильно старую ревизию тех же разработчиков.
Порылся в файлах нашел интересненькое incolution.jar а в нем уже
Blowfish.class
Crypt.class
Twofish.class

Теперь посмотрю темки по декомпиляции, надеюсь если и получится, то хотя бы читабельный код.


Добавлено через 2 часа 50 минут
Декодировал эту красоту теперь надо посидеть над кодом и подумать, но время поджимает и некогда сидеть за разбором кода.


Добавлено через 8 минут
Blowfish
Оффтоп

Crypt
Оффтоп

Добавлено через 7 минут
Последний class ну никак не влазит, он в 2а раза больше размера сообщения.

Последний раз редактировалось Активист, 22.09.2016 в 01:48. Причина: Добавлено сообщение
Активист вне форума   Ответить с цитированием
Старый 23.09.2016, 03:50   #9
Местный
 
Регистрация: 04.11.2009
Адрес: Где-то в жопе европы
Сообщений: 316
Сказал Спасибо: 32
Имеет 42 спасибок в 39 сообщенях
wimax пока неопределено
По умолчанию

мда блоуфиш Это логин сервер помоему ты не осилиш забей)
wimax вне форума   Ответить с цитированием
Старый 24.09.2016, 00:36   #10
Новичок
 
Регистрация: 12.09.2016
Сообщений: 6
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
Активист пока неопределено
По умолчанию

Цитата:
Сообщение от wimax Посмотреть сообщение
мда блоуфиш Это логин сервер помоему ты не осилиш забей)
Ну осилю или нет мы узнаем после 20 числа следующего месяца, а пока мне просто не до игры*(
Но разбором шифрации мне интересней разбираться чем играть

Да и код первых 2х типов шифрации не такой уж и большой для разбора.
Я глянул последний там просто мрак да и по вики одним глазом глянул, там будет головная боль ооочень большая из за того, что при разборе кода мне трудно это все представлять, фантазия не ахти.

Последний раз редактировалось Активист, 24.09.2016 в 00:40.
Активист вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг > Шифрации серверов


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

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

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


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

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

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