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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.06.2008, 11:43   #1
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию

Grinch, в общем не секрет, обычный региональный маленький сервак, каких наверно не одна тысяча, серв по естестенным причинам не упоменаю.
но а теперь по существу,
в стандартной(?) шифрации присутствует:
....
IncAsInteger(key, 0, size);
....
видимо из за этого эти 2 байта и изменяются, взникает вопрос,
при создании алгоритма они(разработчики шифрации)
могли выкинуть этот кусок из кода (т.е. переписывают полностью модуль шифрации)? или зашифрованный пакет шифруют еще раз.
зы: в общем запутался нид хелп ми
alexsl вне форума   Ответить с цитированием
Старый 01.06.2008, 19:36   #2
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

Цитата:
Сообщение от alexsl Посмотреть сообщение
Grinch, в общем не секрет, обычный региональный маленький сервак, каких наверно не одна тысяча, серв по естестенным причинам не упоменаю.
но а теперь по существу,
в стандартной(?) шифрации присутствует:
....
IncAsInteger(key, 0, size);
....
видимо из за этого эти 2 байта и изменяются, взникает вопрос,
при создании алгоритма они(разработчики шифрации)
могли выкинуть этот кусок из кода (т.е. переписывают полностью модуль шифрации)? или зашифрованный пакет шифруют еще раз.
зы: в общем запутался нид хелп ми
они обычно полностью переписывают процедуру шифрования.. я не видел чтобы на стандартную шифрацию сверху новую накладывали.. хотя ето возможно но очень не економично к быстродействию..

Добавлено через 5 минут
цитата:
Код:
  key[0]:=pck[8];
  key[1]:=pck[9];
  key[2]:=pck[2];
  key[3]:=pck[3];
  key[4]:=pck[4];
  key[5]:=pck[5];
  key[6]:=pck[6];
  key[7]:=pck[7];
прикольно у них моск работает-)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами

Последний раз редактировалось VORON, 01.06.2008 в 19:36. Причина: Добавлено сообщение
VORON вне форума   Ответить с цитированием
За это сообщение VORON нажился спасибкой от:
Старый 01.06.2008, 21:03   #3
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

Цитата:
Сообщение от alexsl Посмотреть сообщение
обход смены хор ключа - вкл
не дешифровать трафик - выкл
думаю что лучше ОБХОД СМЕНЫ КСОР КЛЮЧА- погасить
НЕДЕШЕФРИРОВАТЬ ТРАФИК- включить
так как в логе получится белеберда- то ето хорошо..
просто в l2DPX примени стандартный алгоритм который там по дефолту вбит.. и он заменит СТАНДАРТНЫЙ алгоритм и приведет лог к виду который ты видиш с галочкой выключеной.. а дальше етот стандартный алгоритм либо править нада либо дополнять чемто..
вопщем работать надо с логом который вапще никак не искажен пакетхаком- применением стандартной шифрацией.. ето лиш усложняет всё..
Цитата:
Сообщение от alexsl Посмотреть сообщение
может какие нибудь идейки есть? в какую сторону копать?
недогоняю зачем если дешифранулось всё- кульно?

Цитата:
Сообщение от alexsl Посмотреть сообщение
зыы: при включенной опции "не дешифровать траффик" - на глаз цикличность и какие либо неизменные части не наблюдаются.
цикличность- при условии что лог пакета ведется без вкраплений- говорит о том что новый ключ получается ксором предыдущего ключа на данные которые берутся из расшифровки предыдущего пакета либо из длинны пакета- т.е. константы.. так как мониторится 1 тотже пакет без вкраплений то исходные данные для вычисления нового ключа- константы.. они не меняются.. поетому цикл.. ето хорошо.. етот цикл нарушится если проскочет нетпинг или любой другой пакет - отличный от тестируемого.. их надо стораться исключать..
Цитата:
Сообщение от alexsl Посмотреть сообщение
гыг, наступаю на одни и тежи грабли.
вот тежи пакеты (сидя юзаю релакс) в незашифрованном виде (сохранил из пх в текстовый файл. вроде как сохраняет не в шифрованном виде, убрав вкрапления)
думаю так что мало пищи для мозга..
я бы например выложил бы такой вот лог (чтоб всем думалось проще и ненапрягало думать):
Код:
39 B3 14 23 59 E9 E8 0B 1D AF--16 b2 a7 37 7a b0 01 e3--2F 38 00 00 00 00 00 00 00 00
7D 86 04 34 E6 28 15 BB E9 2A--52 C3 82 30 D2 CE 3D AE--2F 38 00 00 00 00 00 00 00 00    
EA 1D 2E E0 2A CF 6D 4C 89 46--C5 CF 33 CE CA E5 A2 21--2F 38 00 00 00 00 00 00 00 00    
17 ED 35 AE 6E C3 C0 2D 15 D7--38 C2 D8 9B C0 AD 03 ED--2F 38 00 00 00 00 00 00 00 00    
3E 00 B8 DF 6E 8F 81 A2 B3 B5--11 06 B8 67 B1 E1 0E 23--2F 38 00 00 00 00 00 00 00 00    
D8 A0 D0 E7 09 2F CB E2 15 55--F7 40 70 37 EE 26 E4 29--2F 38 00 00 00 00 00 00 00 00    
29 50 04 1F 81 93 A2 3E 38 79--06 41 54 1B 9E 12 31 9C--2F 38 00 00 00 00 00 00 00 00  
CF 34 6B FD 8F B6 44 A8 48 8B--E0 C3 5F 96 72 39 F2 EC--2F 38 00 00 00 00 00 00 00 00
CB B3 7D CA 12 72 42 C6 22 62--E4 40 CE B7 D8 60 30 84--2F 38 00 00 00 00 00 00 00 00    
91 F5 F0 C0 AE 38 75 A8 16 4A--BE 5C 05 30 6E 96 4D DD--2F 38 00 00 00 00 00 00 00 00
EB 1A 6D 15 1D 68 EC E9 2D E4--C4 C9 77 78 08 75 84 05--2F 38 00 00 00 00 00 00 00 00    
9E 2A B3 7D EA 61 4C E3 52 DE--B1 8C 99 CE 97 8B 2D AF--2F 38 00 00 00 00 00 00 00 00   
7C DF C9 50 54 5C BC AA F9 62--53 9B 16 99 04 08 E0 16--2F 38 00 00 00 00 00 00 00 00
14 24 D1 11 36 82 D0 29 12 1A--3B 08 F5 C0 27 B4 52 F9--2F 38 00 00 00 00 00 00 00 00
C6 D5 28 1D C1 CD 79 E6 0F 24--E9 2B FD 35 DC 0C B4 9F--2F 38 00 00 00 00 00 00 00 00
81 44 87 50 B0 AA 72 01 AF 52--AE FD C3 D7 E0 1A D8 73--2F 38 00 00 00 00 00 00 00 00
FF 9A 6B F7 90 B9 1E E2 32 6F--D0 5D F1 9C 67 29 A7 FC--2F 38 00 00 00 00 00 00 00 00
3C 09 FC F4 85 55 E4 A1 B2 BF--13 0D F5 08 71 D0 B1 45--2F 38 00 00 00 00 00 00 00 00
85 75 3E 60 29 E3 3C 10 BA 72--AA C8 4B 5E 49 CA DF 2C--2F 38 00 00 00 00 00 00 00 00
AF EC 5F C7 81 C4 B9 AA 2A 51--80 7B B3 98 46 45 7D 13--2F 38 00 00 00 00 00 00 00 00
14 2B 7C A1 14 B0 28 B4 8F 88--3B 07 57 DD B5 A4 98 9C--2F 38 00 00 00 00 00 00 00 00
E3 43 B1 DE 75 2A 14 82 4E D6--CC 98 F2 6F AB 5F 3E 96--2F 38 00 00 00 00 00 00 00 00
BD 50 F5 D4 69 78 C3 A0 32 E7--92 D5 A5 21 BD 11 BB 63--2F 38 00 00 00 00 00 00 00 00
B6 E8 57 9F 30 EB C6 1E 87 E1--99 66 BF C8 AF DB 2D D8--2F 38 00 00 00 00 00 00 00 00
с пояснениями к логу:
1- трафик исходящий
2- сидя на попе в безлюдном месте юзаю скил с ид $38
3- в оригинале пакет исходящий должен выглядеть так:2F 38 00 00 00 00 00 00 00 00
4- НЕ ДЕШЕФРИРОВАТЬ ТРАФИК= ВКЛЮЧЕНО
5- во второй колонке указан ключ для того чтобы из перехваченого пакета в первой колонке получить 3-ю колонку
6- закон изменения ключа мне неясен.. помагите кто может-)))))0
(я серьезно неделю голову ломаю додуматься немагу оч сложная ситуация)

Добавлено через 19 минут
Цитата:
Сообщение от alexsl Посмотреть сообщение
var
i,k,j: integer;
begin
key[0]:=pck[8]; //
key[1]:=pck[9]; // как вооще прикрутить к ключу, понемаю, что так не должно быть

for k:=size-1 downto 0 do
pck[k]:=pck[k] xor key[k and 7];
end.
слух..100 пудов админы там умники-) меня добивает ето:
Код:
key[0]:=pck[8]; // 
key[1]:=pck[9]; // как вооще прикрутить к ключу, понемаю, что так не должно быть
ыыыы-) каму пива?-)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами

Последний раз редактировалось VORON, 01.06.2008 в 21:03. Причина: Добавлено сообщение
VORON вне форума   Ответить с цитированием
Старый 03.06.2008, 16:45   #4
Гость
 
Сообщений: n/a
По умолчанию

хм.... а моно создать отдельную темку с подобраными ключиками с разным сервакам?
  Ответить с цитированием
Старый 01.06.2008, 20:25   #5
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию

на это внимание не обращай, это ключик был, тестил то на пакете скилла.
Цитата:
key[0]:=pck[8];
key[1]:=pck[9];
key[2]:=pck[2];
key[3]:=pck[3];
key[4]:=pck[4];
key[5]:=pck[5];
key[6]:=pck[6];
key[7]:=pck[7];
в общем ковырял, ковырял, и пришел к этому:
Код:
//скилл
7E 94 00 00 B8 2A CD 1A 51 76 
60 94 00 00 B8 2A CD 1A 4F 76
6A 94 00 00 B8 2A CD 1A 45 76
1C 94 00 00 B8 2A CD 1A 33 76
06 94 00 00 B8 2A CD 1A 29 76
08 94 00 00 B8 2A CD 1A 27 76 
// нет пинг
B5 74 80 42 F0 00 CD 1A 1D EF 05 00 B8  
//скилл
27 94 00 00 B8 2A CD 1A 08 76
29 94 00 00 B8 2A CD 1A 06 76
D3 97 00 00 B8 2A CD 1A FC 75
C5 97 00 00 B8 2A CD 1A EA 75
// сам себе в приват 1111111111111111 
69 44 00 31 B8 1B CD 2B  51 44 00 31 B8 1B CD 2B 51 44 00 31 B8 1B CD 2B 51 44 00 31 B8 1B CD 2B 51 44 00 31 B8 1B CD 2B 51 44 00 31 B8 1B CD 23 51 75 00 02 B8 2A CD 79 51 07 00 61 B8 59 CD 72 51 1D 00 65 B8 4B CD 7E 51 75 00 
3C 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 2B 04 43 00 31 B8 1B CD 1A 04 70 00 00 B8 49 CD 68 04 13 00 73 B8 42 CD 72 04 17 00 61 B8 4E CD 1A 04
пропустил с ключиком "51 76 00 00 B8 2A CD 1A" через:
(ключик взял из пакета юзскилл)
Код:
var
  i,k,j: integer;
begin
key[0]:=pck[8]; // 
key[1]:=pck[9]; // как вооще прикрутить к ключу, понемаю, что так не должно быть

for k:=size-1 downto 0 do
  pck[k]:=pck[k] xor key[k and 7];
end.
получилось:
Код:
2F E2 00 00 00 00 00 00 00 00 ; 51 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; 4F 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; 45 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; 33 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; 29 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; 27 76 00 00 B8 2A CD 1A ; 10
A8 9B 80 42 48 2A 00 00 00 00 05 00 00 ; 1D EF 00 00 B8 2A CD 1A ; 13
2F E2 00 00 00 00 00 00 00 00 ; 08 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; 06 76 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; FC 75 00 00 B8 2A CD 1A ; 10
2F E2 00 00 00 00 00 00 00 00 ; EA 75 00 00 B8 2A CD 1A ; 10
38 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 39 00 31 00 02 00 00 00 63 00 43 00 61 00 73 00 68 00 59 00 65 00 61 00 64 00 31 00 ; 51 44 00 00 B8 2A CD 1A ; 75
38 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 31 00 00 00 31 00 31 00 00 00 33 00 00 00 63 00 72 00 50 00 73 00 68 00 68 00 54 00 61 00 64 00 00 00 ; 04 43 00 00 B8 2A CD 1A ; 89
тут интересны выделенные моменты. ксор 2го байт и ключа key[1] дает нужный результат - 31(75 xor 44), а вот реализовать в процедурке не знаю как.
VORON - посмотри своим зорким взглядом, че посоветуеш?

Последний раз редактировалось alexsl, 01.06.2008 в 20:51.
alexsl вне форума   Ответить с цитированием
Старый 04.06.2008, 11:57   #6
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Да тут не ключи надо подбирать, а сам алгоритм шифрования

Добавлено через 16 часов 36 минут
А вот я тут(:

шифрование отключено, обход XOR ключа отключен

скил 2F 5B 00 00 00 00 00 00 00 00

шифрованные пакеты:

Код:
3C 4F 87 6C 96 FB B0 25 36 1E -->36 1E 87 6C 96 FB B0 25-->2F 5B 00 00 00 00 00 00 00 00
E4 CA 8D 12 00 BF 93 B3 78 0D -->78 0D 8D 12 00 BF 93 B3 
0B B3 C9 F7 F0 9A 05 B2 96 75 -->96 75 C9 F7 F0 9A 05 B2
C3 99 ED E6 17 70 17 8D 61 60 -->61 60 ED E6 17 70 17 8D
C7 AE E8 6E 1B 22 60 40 A8 9A -->A8 9A E8 6E 1B 22 60 40 
A0 8F 28 E6 6F 64 87 56 D9 AD -->D9 AD 28 E6 6F 64 87 56
EF 31 D9 48 E4 16 4D 58 98 1D -->98 1D D9 48 E4 16 4D 58
BE 70 35 58 F0 7A B9 09 98 0D -->98 0D 35 58 F0 7A B9 09
B3 39 E5 5B 07 D0 2D 01 9D 4C -->9D 4C E5 5B 07 D0 2D 01
7E C1 82 4D C6 7D 7A 3E 6F 8B -->6F 8B 82 4D C6 7D 7A 3E
92 B8 22 F1 90 17 D9 E2 5F 2E -->5F 2E 22 F1 90 17 D9 E2
FD 29 38 2F D0 6B D4 D4 06 89 -->06 89 38 2F D0 6B D4 D4
41 7C CC 77 1B C3 1B 04 6A 0C -->6A 0C CC 77 1B C3 1B 04
F2 4D 00 85 D3 27 D6 A5 78 9C -->78 9C 00 85 D3 27 D6 A5
48 8D 1F 12 6B 1F A6 BA DD 43 -->DD 43 1F 12 6B 1F A6 BA
F9 CC C0 AE 31 6F 9A 0E D8 B6 -->D8 B6 C0 AE 31 6F 9A 0E
78 2E 55 17 D7 A9 22 7B 2C 21 -->2C 21 55 17 D7 A9 22 7B
B0 6A 52 C8 56 12 1C EB 74 F5 -->74 F5 52 C8 56 12 1C EB
FE FC EF B1 21 01 F0 CE 1F 46 -->1F 46 EF B1 21 01 F0 CE
7D 21 CD 2E 6F 41 EF E7 B5 B2 -->B5 B2 CD 2E 6F 41 EF E7
Вкраплений нет, сколько раз юзал скил столько и пакетов...Подскажите направление рытья, а то сам не вижу (

Пакет на разрыв пати выглядит (как в случае Ворона) однотипно (к примеру куча пакетов DB), до посылки другого пакета ...Имеется предположение что алгоритмы шифровки схожи...но все же не одинаковы)

1- трафик исходящий
2- сидя на попе в безлюдном месте юзаю скил с ид $5B
3- в оригинале пакет исходящий должен выглядеть так:2F 38 00 00 00 00 00 00 00 00
4- НЕ ДЕШЕФРИРОВАТЬ ТРАФИК= ВКЛЮЧЕНО
5- во второй колонке указан ключ для того чтобы из перехваченого пакета в первой колонке получить 3-ю колонку
6- закон изменения ключа мне неясен.. помагите кто может-)))))0
(я серьезно неделю голову ломаю додуматься немагу оч сложная ситуация)

Последний раз редактировалось Breadfan, 06.06.2008 в 18:36. Причина: Добавлено сообщение
Breadfan вне форума   Ответить с цитированием
Старый 04.06.2008, 17:11   #7
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию

возмжно это тебе поможет.
ИМХО первый байт пакета на вскидку (при условии если брать ключик из самого пакета):
....
3C 4F 87 6C 96 FB B0 25 36 1E
....
предположительно этот пакет содержит ключик 36 1E 87 6C 96 FB B0 25
тогда эта формула истинна для всех пакетов:
pck[0]:=pck[0] xor key[0] xor key[7];
получим 2F

зыы: кстати, повод для размышления, в моем случае 1 байт ключа увелич-ся на размер пакета.
(key[0]:=key[0]+size)

Последний раз редактировалось alexsl, 04.06.2008 в 18:55.
alexsl вне форума   Ответить с цитированием
Старый 06.06.2008, 07:58   #8
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
Восклицание все о том же, нид хелп

привет,
танцы с бубном по тихой приносят результат _но_ ...
ИМХО требуется сдвигать ключ, но у муну не получается.
знающие люди подскажите как это дело реализовать?
пробывал так:
delphi Код:
old := Key[0];   old := old or (Key[1] shl $08);   old := old or (Key[2] shl $10);   old := old or (Key[3] shl $18);    old := old+size;    Key[0] := old;    Key[1] := (old shr $08);    Key[2] := (old shr $10);    Key[3] := (old shr $18);

но не получается

данные для расшифровки (юзаю скил, и пишу в чат 111111111)

Код:
A6 71 7B 7B 32 AF 8B 1A 93 A6 
BC 6B 61 61 28 B5 91 00 93 A6
B2 65 6F 6F 26 BB 9F 0E 93 A6 
9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 38 9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 38 9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 38 9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 09 AE 9B 91 91 D8
C3 14 1E 1E 57 CA EE 7F 93 A6 
D9 0E 04 04 4D D0 F4 65 93 A6 
38 3F 35 04 4D E1 C5 65 65 62 68 59 10 BC 98 38 38 3F 35 04 4D E1 C5 65 65 62 68 59 10 BC 98 38 38 3F 35 04 4D E1 C5 65 65 62 68 59 10 BC 98 38 38 3F 35 35 7C E1 C5 54 54 
01 06 0C 3D 74 D8 FC 5C 65 62 68 59 10 BC 98 38 01 06 0C 3D 74 D8 FC 5C 65 62 68 59 10 BC 98 38 01 06 0C 3D 74 D8 FC 5C 65 62 68 59 10 BC 98 38 01 06 0C 0C 45 D8 FC 6D 54 
4A 4D 47 76 3F 93 B7 17 65 62 68 59 10 BC 98 38 4A 4D 47 76 3F 93 B7 17 65 62 68 59 10 BC 98 38 4A 4D 47 76 3F 93 B7 17 65 62 68 59 10 BC 98 38 4A 4D 47 47 0E 93 B7 26 54
93 94 9E AF E6 4A 6E CE 65 62 68 59 10 BC 98 38 93 94 9E AF E6 4A 6E CE 65 62 68 59 10 BC 98 38 93 94 9E AF E6 4A 6E FF 54 62 68 68 21
вот выходные данные, вроде все красиво

Код:
// скилл
2F E2 00 00 00 00 00 00 00 00 ; 93 35 0A 00 49 9D 24 91 ; 10
2F E2 00 00 00 00 00 00 00 00 ; 9D 35 0A 00 49 9D 24 91 ; 10
2F E2 00 00 00 00 00 00 00 00 ; A7 35 0A 00 49 9D 24 91 ; 10
// сау2
38 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 00 00 00 00 00 00 ; EC 35 0A 00 49 9D 24 91 ; 69
// скилл
2F E2 00 00 00 00 00 00 00 00 ; F6 35 0A 00 49 9D 24 91 ; 10
2F E2 00 00 00 00 00 00 00 00 ; 00 35 0A 00 49 9D 24 91 ; 10
// вот тут происходит сдвиг ключика (значение должно быть 31 а не 32)
// сай2 !!!
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 00 00 00 00 00 00 ; 39 35 0A 00 49 9D 24 91 ; 57
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 00 00 00 00 00 00 ; 72 35 0A 00 49 9D 24 91 ; 57
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 00 00 00 00 00 00 ; AB 35 0A 00 49 9D 24 91 ; 57
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 00 00 03 00 00 00 ; D8 35 0A 00 49 9D 24 91 ; 45
а это , сам код:

delphi Код:
var   old,temp,temp2,i: integer; begin     temp:= 0;     for i:= 0 to size-1 do     begin       temp2:= pck[i] and $ff;       pck[i]:= temp2 xor (Key[i and 7]and $ff) xor temp;       temp:=temp2;     end;     old := Key[0];    // имхо тут надо реализовать сдвиг ключа   // принимают участие 4 первых байта ключа    // old := old or (Key[1] shl $08); // данный метод работает не так как ожидалось   //  old := old or (Key[2] shl $10);   //  old := old or (Key[3] shl $18);     old := old+size;     Key[0] := old;  //   Key[1] := (old shr $08);  //   Key[2] := (old shr $10);  //  Key[3] := (old shr $18); end.

зы: или это вообще не сдвиг ключа?

Последний раз редактировалось alexsl, 06.06.2008 в 08:01.
alexsl вне форума   Ответить с цитированием
Старый 06.06.2008, 14:51   #9
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию А вот шифрование на моем серве!

После ряда обновлений, получил злобно зашифрованный трафик. Че делать ваще не знаю...

И так:

CryptInit: 00 01 C2 F5 11 18 01 00 00 00 01 00 00 00
тут все стандартно, ключик 4-х байтный C2 F5 11 18, естественно при каждом новом сеансе ключик меняется.

ксорим его на константу 82 93 1A 41
и получаем начальный ключик вида x1 x2 00 00 x3 x4 00 00
где
x1 = C2 xor 82
x2 = F5 xor 93
x3 = 11 xor 1A
x4 = 18 xor 41

Начальный ключик верен для обоих направлений.

А вот дальше алгоритмы совершенно разные.
Вот пример трафика от клиента к серверу (зажимаю кнопку сесть/встать)

Код:
80 22 1C 39 6A 30 11 A2 C5 22 == C5 22 1C 39 6A 30 11 A2 == 45 00 00 00 00 00 00 00 00 00 -- 1
BB 03 AB 36 6B 39 7A 6A FE 03 == FE 03 AB 36 6B 39 7A 6A == 45 00 00 00 00 00 00 00 00 00 -- 2
1A 5C B0 A9 20 D4 8C 98 5F 5C == 5F 5C B0 A9 20 D4 8C 98 == 45 00 00 00 00 00 00 00 00 00 -- 3
A1 F4 2E D1 D0 F6 46 96 E4 F4 == E4 F4 2E D1 D0 F6 46 96 == 45 00 00 00 00 00 00 00 00 00 -- 4
EC 4C 3E D6 41 CA CB 41 A9 4C == A9 4C 3E D6 41 CA CB 41 == 45 00 00 00 00 00 00 00 00 00 -- 5
C9 C0 FC 66 3F 7D 8A F2 8C C0 == 8C C0 FC 66 3F 7D 8A F2 == 45 00 00 00 00 00 00 00 00 00 -- 6
4A BB A7 70 35 C5 D3 B1 0F BB == 0F BB A7 70 35 C5 D3 B1 == 45 00 00 00 00 00 00 00 00 00 -- 7
A0 46 DE 4A 6C 15 C5 62 E5 46 == E5 46 DE 4A 6C 15 C5 62 == 45 00 00 00 00 00 00 00 00 00 -- 8
EA 5F 4B E2 11 98 DE EF AF 5F == AF 5F 4B E2 11 98 DE EF == 45 00 00 00 00 00 00 00 00 00 -- 9
0D 63 D9 C3 B7 B7 4D 4A 48 63 == 48 63 D9 C3 B7 B7 4D 4A == 45 00 00 00 00 00 00 00 00 00 -- 10
55 A9 44 35 85 80 62 11 10 A9 == 10 A9 44 35 85 80 62 11 == 45 00 00 00 00 00 00 00 00 00 -- 11
3E 5C DB 10 F0 30 CC DC 7B 5C == 7B 5C DB 10 F0 30 CC DC == 45 00 00 00 00 00 00 00 00 00 -- 12
B4 0C 22 EA 3E 4D B5 56 F1 0C == F1 0C 22 EA 3E 4D B5 56 == 45 00 00 00 00 00 00 00 00 00 -- 13
49 E7 DC B1 4D 67 22 3F 0C E7 == 0C E7 DC B1 4D 67 22 3F == 45 00 00 00 00 00 00 00 00 00 -- 14
B2 14 4B FF A7 5B D4 1F F7 14 == F7 14 4B FF A7 5B D4 1F == 45 00 00 00 00 00 00 00 00 00 -- 15
3C 81 85 27 54 1A BC 01 79 81 == 79 81 85 27 54 1A BC 01 == 45 00 00 00 00 00 00 00 00 00 -- 16
3A 2B 87 69 A7 D8 85 FC 7F 2B == 7F 2B 87 69 A7 D8 85 FC == 45 00 00 00 00 00 00 00 00 00 -- 17
25 3D 44 38 E7 6D A0 10 60 3D == 60 3D 44 38 E7 6D A0 10 == 45 00 00 00 00 00 00 00 00 00 -- 18
37 84 FB 6B 5D 8D CF B1 72 84 == 72 84 FB 6B 5D 8D CF B1 == 45 00 00 00 00 00 00 00 00 00 -- 19
94 3A BE D8 33 18 14 31 D1 3A == D1 3A BE D8 33 18 14 31 == 45 00 00 00 00 00 00 00 00 00 -- 20
2B 05 96 09 08 E3 8F 52 6E 05 == 6E 05 96 09 08 E3 8F 52 == 45 00 00 00 00 00 00 00 00 00 -- 21
0D 88 5A A1 F3 4C F9 14 48 88 == 48 88 5A A1 F3 4C F9 14 == 45 00 00 00 00 00 00 00 00 00 -- 22
38 3B 0F A3 76 34 AF C2 7D 3B == 7D 3B 0F A3 76 34 AF C2 == 45 00 00 00 00 00 00 00 00 00 -- 23
E5 F7 1B D7 29 68 AD F4 A0 F7 == A0 F7 1B D7 29 68 AD F4 == 45 00 00 00 00 00 00 00 00 00 -- 24
92 FA B1 82 6A 5C 25 63 D7 FA == D7 FA B1 82 6A 5C 25 63 == 45 00 00 00 00 00 00 00 00 00 -- 25
64 13 C2 7D 6C D1 EF 5C 21 13 == 21 13 C2 7D 6C D1 EF 5C == 45 00 00 00 00 00 00 00 00 00 -- 26
D5 61 CC 39 21 CB 0F F2 90 61 == 90 61 CC 39 21 CB 0F F2 == 45 00 00 00 00 00 00 00 00 00 -- 27
1C 29 55 96 53 C6 B6 55 59 29 == 59 29 55 96 53 C6 B6 55 == 45 00 00 00 00 00 00 00 00 00 -- 28
59 84 16 30 F1 AB DF D5 1C 84 == 1C 84 16 30 F1 AB DF D5 == 45 00 00 00 00 00 00 00 00 00 -- 29
50 2E BC 04 9C 44 1E DC 15 2E == 15 2E BC 04 9C 44 1E DC == 45 00 00 00 00 00 00 00 00 00 -- 30
3A 5F D5 1C DD 8D 9B 4A 7F 5F == 7F 5F D5 1C DD 8D 9B 4A == 45 00 00 00 00 00 00 00 00 00 -- 31
27 BA C8 6D 19 2B B2 93 62 BA == 62 BA C8 6D 19 2B B2 93 == 45 00 00 00 00 00 00 00 00 00 -- 32
52 FA DB BC B1 61 45 28 17 FA == 17 FA DB BC B1 61 45 28 == 45 00 00 00 00 00 00 00 00 00 -- 33
BF 10 FF C3 A1 65 DC F7 FA 10 == FA 10 FF C3 A1 65 DC F7 == 45 00 00 00 00 00 00 00 00 00 -- 34
73 3D E1 6F 35 7A 39 7A 36 3D == 36 3D E1 6F 35 7A 39 7A == 45 00 00 00 00 00 00 00 00 00 -- 35
DE 02 2E 4B C6 12 8F C8 9B 02 == 9B 02 2E 4B C6 12 8F C8 == 45 00 00 00 00 00 00 00 00 00 -- 36
A1 E1 59 C6 AB 8C CC 66 E4 E1 == E4 E1 59 C6 AB 8C CC 66 == 45 00 00 00 00 00 00 00 00 00 -- 37
81 38 19 1A BB AF EC 19 C4 38 == C4 38 19 1A BB AF EC 19 == 45 00 00 00 00 00 00 00 00 00 -- 38
B6 40 5F CB B7 A2 92 20 F3 40 == F3 40 5F CB B7 A2 92 20 == 45 00 00 00 00 00 00 00 00 00 -- 39
88 B9 BF E1 CA 60 B7 1F CD B9 == CD B9 BF E1 CA 60 B7 1F == 45 00 00 00 00 00 00 00 00 00 -- 40
CD 80 D1 1C AC 1A 15 6A 88 80 == 88 80 D1 1C AC 1A 15 6A == 45 00 00 00 00 00 00 00 00 00 -- 41
55 7A 7D 34 51 19 7F D8 10 7A == 10 7A 7D 34 51 19 7F D8 == 45 00 00 00 00 00 00 00 00 00 -- 42
30 70 DA 87 FA 65 45 A7 75 70 == 75 70 DA 87 FA 65 45 A7 == 45 00 00 00 00 00 00 00 00 00 -- 43
92 24 C1 F2 4D D7 A4 E8 D7 24 == D7 24 C1 F2 4D D7 A4 E8 == 45 00 00 00 00 00 00 00 00 00 -- 44
43 DE F1 08 F2 D9 E5 DB 06 DE == 06 DE F1 08 F2 D9 E5 DB == 45 00 00 00 00 00 00 00 00 00 -- 45
6E B5 3F 47 63 F8 CE 7D 2B B5 == 2B B5 3F 47 63 F8 CE 7D == 45 00 00 00 00 00 00 00 00 00 -- 46
14 4C 47 70 FC BD BE 49 51 4C == 51 4C 47 70 FC BD BE 49 == 45 00 00 00 00 00 00 00 00 00 -- 47
22 BF F2 56 06 79 A3 80 67 BF == 67 BF F2 56 06 79 A3 80 == 45 00 00 00 00 00 00 00 00 00 -- 48
88 22 1C 4E 7A F0 44 72 CD 22 == CD 22 1C 4E 7A F0 44 72 == 45 00 00 00 00 00 00 00 00 00 -- 49
4F 68 38 EF 96 B7 3D 04 0A 68 == 0A 68 38 EF 96 B7 3D 04 == 45 00 00 00 00 00 00 00 00 00 -- 50
C9 3A 05 49 79 9F 4F E1 8C 3A == 8C 3A 05 49 79 9F 4F E1 == 45 00 00 00 00 00 00 00 00 00 -- 51
CD CF D6 B4 DC 2C 59 FD 88 CF == 88 CF D6 B4 DC 2C 59 FD == 45 00 00 00 00 00 00 00 00 00 -- 52
2B E8 A7 37 AB F0 01 E3 6E E8 == 6E E8 A7 37 AB F0 01 E3 == 45 00 00 00 00 00 00 00 00 00 -- 53
94 A5 95 24 F8 B2 2A BA D1 A5 == D1 A5 95 24 F8 B2 2A BA == 45 00 00 00 00 00 00 00 00 00 -- 54
F8 95 33 CE 1B A5 A2 21 BD 95 == BD 95 33 CE 1B A5 A2 21 == 45 00 00 00 00 00 00 00 00 00 -- 55
FE A4 CF 8F EA D1 14 F9 BB A4 == BB A4 CF 8F EA D1 14 F9 == 45 00 00 00 00 00 00 00 00 00 -- 56
2C 5C B8 67 60 A1 0E 23 69 5C == 69 5C B8 67 60 A1 0E 23 == 45 00 00 00 00 00 00 00 00 00 -- 57
31 26 67 23 C4 5A F3 3D 74 26 == 74 26 67 23 C4 5A F3 3D == 45 00 00 00 00 00 00 00 00 00 -- 58
3B 1B 54 1B 4F 52 31 9C 7E 1B == 7E 1B 54 1B 4F 52 31 9C == 45 00 00 00 00 00 00 00 00 00 -- 59
26 A5 48 82 58 45 E5 F8 63 A5 == 63 A5 48 82 58 45 E5 F8 == 45 00 00 00 00 00 00 00 00 00 -- 60
D9 1A CE B7 09 20 30 84 9C 1A == 9C 1A CE B7 09 20 30 84 == 45 00 00 00 00 00 00 00 00 00 -- 61
78 3A 12 24 44 EA 5A C9 3D 3A == 3D 3A 12 24 44 EA 5A C9 == 45 00 00 00 00 00 00 00 00 00 -- 62
F9 93 77 78 D9 35 84 05 BC 93 == BC 93 77 78 D9 35 84 05 == 45 00 00 00 00 00 00 00 00 00 -- 63
77 EA 8E DA BD F7 3A BB 32 EA == 32 EA 8E DA BD F7 3A BB == 45 00 00 00 00 00 00 00 00 00 -- 64
6E C1 16 99 D5 48 E0 16 2B C1 == 2B C1 16 99 D5 48 E0 16 == 45 00 00 00 00 00 00 00 00 00 -- 65
FD 6E E2 D4 0D C8 45 ED B8 6E == B8 6E E2 D4 0D C8 45 ED == 45 00 00 00 00 00 00 00 00 00 -- 66
D4 71 FD 35 0D 4C B4 9F 91 71 == 91 71 FD 35 0D 4C B4 9F == 45 00 00 00 00 00 00 00 00 00 -- 67
68 9B D4 C3 CA 66 CF 67 2D 9B == 2D 9B D4 C3 CA 66 CF 67 == 45 00 00 00 00 00 00 00 00 00 -- 68
1. Столбцы: пакет == ключ == дешифрованный пакет -- порядковый номер пакета
2. Вкраплений нет, как тока появляется вкрапление, порядковый номер станет = 0.
3. С пакета уже снята часть шифрации алгоритмом (я изменил newxor.dll):
delphi Код:
procedure TXorCodingOut.DecryptGP(var Data; const Size: Word); var   k:integer;   pck:array[0..$4FFF] of Byte absolute Data; begin   for k:=size-1 downto 1 do pck[k]:=pck[k] xor pck[k-1]; end;

Че делать дальше, вообще мыслей нету ((
Ключ в пакете явно просматривается, но алгоритм изменения неясен.

Последний раз редактировалось nezabudkin, 06.06.2008 в 18:57.
nezabudkin вне форума   Ответить с цитированием
Старый 06.06.2008, 15:13   #10
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
3. С пакета уже снята часть шифрации алгоритмом (я изменил newxor.dll):
этого не стоило пока делать, давай т.с. в первозданном виде

Последний раз редактировалось alexsl, 06.06.2008 в 15:18.
alexsl вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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