Grinch, в общем не секрет, обычный региональный маленький сервак, каких наверно не одна тысяча, серв по естестенным причинам не упоменаю.
но а теперь по существу,
в стандартной(?) шифрации присутствует:
....
IncAsInteger(key, 0, size);
....
видимо из за этого эти 2 байта и изменяются, взникает вопрос,
при создании алгоритма они(разработчики шифрации)
могли выкинуть этот кусок из кода (т.е. переписывают полностью модуль шифрации)? или зашифрованный пакет шифруют еще раз.
зы: в общем запутался нид хелп ми
Grinch, в общем не секрет, обычный региональный маленький сервак, каких наверно не одна тысяча, серв по естестенным причинам не упоменаю.
но а теперь по существу,
в стандартной(?) шифрации присутствует:
....
IncAsInteger(key, 0, size);
....
видимо из за этого эти 2 байта и изменяются, взникает вопрос,
при создании алгоритма они(разработчики шифрации)
могли выкинуть этот кусок из кода (т.е. переписывают полностью модуль шифрации)? или зашифрованный пакет шифруют еще раз.
зы: в общем запутался нид хелп ми
они обычно полностью переписывают процедуру шифрования.. я не видел чтобы на стандартную шифрацию сверху новую накладывали.. хотя ето возможно но очень не економично к быстродействию..
обход смены хор ключа - вкл
не дешифровать трафик - выкл
думаю что лучше ОБХОД СМЕНЫ КСОР КЛЮЧА- погасить
НЕДЕШЕФРИРОВАТЬ ТРАФИК- включить
так как в логе получится белеберда- то ето хорошо..
просто в l2DPX примени стандартный алгоритм который там по дефолту вбит.. и он заменит СТАНДАРТНЫЙ алгоритм и приведет лог к виду который ты видиш с галочкой выключеной.. а дальше етот стандартный алгоритм либо править нада либо дополнять чемто..
вопщем работать надо с логом который вапще никак не искажен пакетхаком- применением стандартной шифрацией.. ето лиш усложняет всё..
Цитата:
Сообщение от alexsl
может какие нибудь идейки есть? в какую сторону копать?
недогоняю зачем если дешифранулось всё- кульно?
Цитата:
Сообщение от alexsl
зыы: при включенной опции "не дешифровать траффик" - на глаз цикличность и какие либо неизменные части не наблюдаются.
цикличность- при условии что лог пакета ведется без вкраплений- говорит о том что новый ключ получается ксором предыдущего ключа на данные которые берутся из расшифровки предыдущего пакета либо из длинны пакета- т.е. константы.. так как мониторится 1 тотже пакет без вкраплений то исходные данные для вычисления нового ключа- константы.. они не меняются.. поетому цикл.. ето хорошо.. етот цикл нарушится если проскочет нетпинг или любой другой пакет - отличный от тестируемого.. их надо стораться исключать..
Цитата:
Сообщение от alexsl
гыг, наступаю на одни и тежи грабли.
вот тежи пакеты (сидя юзаю релакс) в незашифрованном виде (сохранил из пх в текстовый файл. вроде как сохраняет не в шифрованном виде, убрав вкрапления)
думаю так что мало пищи для мозга..
я бы например выложил бы такой вот лог (чтоб всем думалось проще и ненапрягало думать):
с пояснениями к логу:
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.
Причина: Добавлено сообщение
//скилл
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.
тут интересны выделенные моменты. ксор 2го байт и ключа key[1] дает нужный результат - 31(75 xor 44), а вот реализовать в процедурке не знаю как. VORON - посмотри своим зорким взглядом, че посоветуеш?
Последний раз редактировалось alexsl, 01.06.2008 в 20:51.
Вкраплений нет, сколько раз юзал скил столько и пакетов...Подскажите направление рытья, а то сам не вижу (
Пакет на разрыв пати выглядит (как в случае Ворона) однотипно (к примеру куча пакетов 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.
Причина: Добавлено сообщение
возмжно это тебе поможет.
ИМХО первый байт пакета на вскидку (при условии если брать ключик из самого пакета):
....
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.
привет,
танцы с бубном по тихой приносят результат _но_ ...
ИМХО требуется сдвигать ключ, но у муну не получается.
знающие люди подскажите как это дело реализовать?
пробывал так:
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
var
old,temp,temp2,i: integer;
begin
temp:= 0;
for i:= 0to size-1dobegin
temp2:= pck[i] and $ff;
pck[i]:= temp2 xor(Key[i and7]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.
1. Столбцы: пакет == ключ == дешифрованный пакет -- порядковый номер пакета
2. Вкраплений нет, как тока появляется вкрапление, порядковый номер станет = 0.
3. С пакета уже снята часть шифрации алгоритмом (я изменил newxor.dll):