Во первых, очень интересная тема(прям дух захватывает))), qak спасибо за ссылочку...  :wink: 
Прочитал все, подумал ))), насамом деле помойму нада забить на то что ксор двух вторых байтов соседних ключей равен 6D, и иногда 6С. На мой взгляд это не причина, это следствие... Постараюсь объяснить чот я имею ввиду:
Давайте еще раз посмотрим на последовательность из поста QaK'a в котором он впервые предложил делать ксор соседних ключей, НО!!! что очень важно, на время забъем на сами рез-ты ксоров и попробуем взглянуть в другом направлении. У нас там была такая после-ть ключей:
	Цитата:
	
	
		| 18-F2 0000 3EE3 5487 
 71-9F 0000 203F 5487
 
 04-F2 0000 5D8E 5487
 
 9D-9F 0000 4352 5487
 
 F0-F2 0000 3EE3 5487
 
 89-9F 0000 203F 5487
 
 DC-F2 0000 5D8E 5487
 
 B5-9F 0000 4352 5487
 
 C8-F2 0000 3EE3 5487
 
 A1-9F 0000 203F 5487
 
 B4-F2 0000 5D8E 5487
 
 CD9F 0000 4352 5487
 
 A0-F2 0000 3EE3 5487
 
 F9-9F 0000 203F 5487
 
 8C-F2 0000 5D8E 5487
 
 E5-9F 0000 4352 5487
 
 78-F3 0000 3EE3 5487
 
 11-9E 0000 203F 5487
 
 64-F3 0000 5D8E 5487
 
 3D-9E 0000 4352 5487
 
 50-F3 0000 3EE3 5487
 
 29-9E 0000 203F 5487
 
 3C-F3 0000 5D8E 5487
 
 55-9E 0000 4352 5487
 
 28-F3 0000 3EE3 5487
 
 41-9E 0000 203F 5487
 
 14-F3 0000 5D8E 5487
 | 
	
 Приглядевшись можно заметь, что второй байт ключа постоянно чередуется кусками... Вот тут та и вся соль на мой взгляд!
Здесь не один ключ, а два!! используются они по очереди, изменяясь в соответсвии с какойто последовательностью.
Вспомним как нам говорили на физ-ре в школе... На 1-й, 2-й расчитайтесь.... 2-ые три шага вперед... Нада разделить эту последовательность на четные и нечетные члены... то есть в первый список записать 1-й 3-й 5-й 7-й 9-й и т.д. члены, а во второй 2-й 4-й 6-й 8-й 10-й и т.д.:
Нечетные
	Цитата:
	
	
		| 18-F2 0000 3EE3 5487 
 04-F2 0000 5D8E 5487
 
 F0-F2 0000 3EE3 5487
 
 DC-F2 0000 5D8E 5487
 
 C8-F2 0000 3EE3 5487
 
 B4-F2 0000 5D8E 5487
 
 A0-F2 0000 3EE3 5487
 
 8C-F2 0000 5D8E 5487
 
 78-F3 0000 3EE3 5487
 
 64-F3 0000 5D8E 5487
 
 50-F3 0000 3EE3 5487
 
 3C-F3 0000 5D8E 5487
 
 28-F3 0000 3EE3 5487
 
 14-F3 0000 5D8E 5487
 | 
	
 Четные
	Цитата:
	
	
		| 71-9F 0000 203F 5487 
 9D-9F 0000 4352 5487
 
 89-9F 0000 203F 5487
 
 B5-9F 0000 4352 5487
 
 A1-9F 0000 203F 5487
 
 CD-9F 0000 4352 5487
 
 F9-9F 0000 203F 5487
 
 E5-9F 0000 4352 5487
 
 11-9E 0000 203F 5487
 
 3D-9E 0000 4352 5487
 
 29-9E 0000 203F 5487
 
 55-9E 0000 4352 5487
 
 41-9E 0000 203F 5487
 | 
	
 Теперь попробуем сделать только первый байт ХексТоИнт , ведь второй же изменяется гораздо реже, и вычислить значения на которые они изменяются(QaK если это верный путь, то ты бал близок, нада было только разделить последовательность на четные и нечетные члены(на два ключа другими словами)):
Вот что получается с нечетными:
	Цитата:
	
	
		| 18-F2 0000 3EE3 5487       24 -20
 04-F2 0000 5D8E 5487      4
 -20 (ведь максимальное значение байта в десятичном представлении 256)
 F0-F2 0000 3EE3 5487      240
 -20
 DC-F2 0000 5D8E 5487      220
 -20
 C8-F2 0000 3EE3 5487      200
 -20
 B4-F2 0000 5D8E 5487      180
 -20
 A0-F2 0000 3EE3 5487      160
 -20
 8C-F2 0000 5D8E 5487      140
 -20
 78-F3 0000 3EE3 5487      120       (вот здесь второй байт инкрементируется на еденицу, об этом ниже)
 -20
 64-F3 0000 5D8E 5487      100
 -20
 50-F3 0000 3EE3 5487      80
 -20
 3C-F3 0000 5D8E 5487      60
 -20
 28-F3 0000 3EE3 5487      40
 -20
 14-F3 0000 5D8E 5487      20
 | 
	
 Эххххх, если бы эта цепь была подлиннее можно было бы еще помозговать, а из этой видно лишь одно изменение второго байта "нечетного" ключа(если можно так выразится)...
Главный вопрос у меня,
почему  второй байт ключа изменился там где 140 переходит в 120, а не там где 4 переходит в 240 как бы "обнуляя" счетчик. И почему он вообще увеличился, ведь первый байт постоянно уменьшается на 20.
Если произвести те же манипуляции с последовательностью "четных" ключей (с вашего позваления ))), то картинка посложнее получается:
	Цитата:
	
	
		| 71-9F 0000 203F 5487      113 +44
 9D-9F 0000 4352 5487      157
 -20
 89-9F 0000 203F 5487      137
 +44
 B5-9F 0000 4352 5487      181
 -20
 A1-9F 0000 203F 5487      161
 +44
 CD-9F 0000 4352 5487      205
 +44
 F9-9F 0000 203F 5487      249
 -20
 E5-9F 0000 4352 5487      229
 +38 (????? вот это странно)
 11-9E 0000 203F 5487      11 (9F -> 9E, то есть второй байт тут уменьшается на еденицу, не смотря на то что все изменения первого байта в конечном итоге носят характер прибавления. Но тут хотя бы по всей видимости второй байт меняется при обнулении первого)
 +50 (???)
 3D-9E 0000 4352 5487      61
 -20
 29-9E 0000 203F 5487      41
 +44
 55-9E 0000 4352 5487      85
 -20
 41-9E 0000 203F 5487      65
 | 
	
 p.s. а ксор двух вторых байтов соседних ключей равен 6D, это факт... 6С он становится равен тогда, когда у одного из соседних ключей второй байт прибавляется на ед., а у второго еще не успел прибавится.....Опа... я понял почему у "нечетного" ключа второй байт прибавился на ед. при переходе первого с 140 на 120.... Потому что он сменился прям перед тем как сменился второй байт из "четного" ключа, который в свою очередь сменился в тот момент когда проскочил "0" своего первого байта.... ТАААКККССС...
то есть имеем такие свойства действия XOR:
9F xor F2 = 6D
F2 xor 9F = 6D
и если например программа видит что второй байт одного из ключей сменится сейчас на ед., она заблаговременно меняет второй байт второго ключа чтоб рез-тат действия xor оставался 6D, причем если один прибавился на единицу, то другой должен уменьшится для того чтоб рез-тат был 6D:
F2+1 = F3
F3 xor 9F = 6C
9F-1 = 9E
F3 xor 9E = 6D
В случае с 6А один из вторых байтов изменился с 02 на 05 (т.е. +3), поэтому рез-тат xor стал 6А.
Но второй байт другого ключа тут же изменился на сколько? првильно, на -3, и рез-тат опять стал 6D.))
p.s.s. Мне кажется нада забить на рез-таты ксоров, просто нада понимать что имеем дело с комбинацией двух чередующихся ключей которые между собой связаны рядом закономерностей...
(Сорри за такое большое сообщение)
Добавлено спустя 3 часа 52 минуты 19 секунд:
Ребят вы че молчите? Задумались чтоль? )) Отписывайтесь по теме плз..))