Показать сообщение отдельно
Старый 29.01.2008, 06:57   #97
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию Re:

Цитата:
Сообщение от Гость
Как все сложно получилось пришлось переделывать все. Так будет каждый раз ?
а то!.. и не такое будет!

Добавлено спустя 2 часа 23 минуты 1 секунду:
QAK,слух я еще раз отвечу на твой пост.. ты спрашивал "ты нашел как начальный ключ получать?" .. на тот момент я еще (вернее ХКОР) к ДЛЛ не приступал.. я тестировал скрипт.. а скрипт как я выше сказал можно в произвольный момент стартонуть и он начнет дешифровку сам.. с любого места.. сам ключ вычислит из пакета (сесть/встать).. а вот когда ХКОР- приступил к изменению ДЛЛ то начались проблемы... нужно было при старте (заходе в игру) найти етот ключ.. и там мы не располагаем пакетиком удобным который каждый раз 1 и тотжэ (сесть/встать).. там первые пакеты- рандом.. обращать впринципе надо внимание тока на 4 первых пакета .. т.е. когда ты выбираеш сервер- и жмеш- "ОК" то то логин сервер соединяет тебя с гейм сервером... когда ты видиш на екране выбор персонажа для загрузки- ето уже гейм сервер работает.. к етому моменту отправляется 2 и приходит 2 пакета...
1-й пакет- исходящий он даже на шифрованном серванте не шифруется- он передается серверу без шифровки- типа инициализации соединения.. 2-й пакет: ответ сервера на етот пакет- пакет на инициализацию скриптографии (шифра).. пакет всегда 1 и тотже заполненый нулями и единицами в ХЕКСЕ но с 2 по 6 байты заполнен каждый раз (при новом логине) рандом байтами.. в етих байтах (4 байта с 2 по 6) есть начальные данные для вычисления начального ключа- для обеих алгоритмов , входящего и также исходящего.. 3-й пакет- исходящий в нем запрос на выбор персонажа для определенного логина.. а 4-й пакет- ответ сервера на визуализацию (для текушего акаунта текуший персонаж такойто).. етот 4-й пакет очень похож на пакет ЮЗЕР ИНФО.. чтоюы можно было визуализировать на екране перса которого выбираеш- в етом пакете он полностью описывается.. шмот, хп,мп, расса, класс, лвл и т.д. ..
у всех будет так что 1 и 2 пакеты- не шифруются.. так как исходные данные для вычисления начального ключа присылаются сервером во 2-м пакете..
начиная с 3-го пакета- исходящего и 4-го входящего данные уже зашифрованы.. с применением начального ключа...
у меня получилось так что ключ начальный совпадает для двух алгоритмов- и входящего и исходящего.. 3 и 4 пакеты- шифруются одним и темже ключем..а дальше ключ изменяется уже разными алгоритмами..
задача человека- в етом месте понять как из 2-го (входящего) пакета (в котором присылаются 4 байта исходных данных- типа условия задачи) получить 8 байтов ключа входящего и исходящего.. ну вот в моем случае ключ (начальный) входящий и исходящий- совпал.. 1 и тотже.. поетому задача немного сократилась..нужно было получить из 4-х байтов (исходных) 8 байтов ключа (начального) ..
отловили 1 лог.. методом подбора подобрали ключ для дешифровки 4-го пакета и 3-го тоже.. так как там используются ЛОГИН-НЕЙМ (в 3-м исходящем) и ЧАР НЕЙМ (в 4-м входящем) зная то что должно там быть (имя моего персонажа и логин нейм в юникоде), т.е. зная пакет- как он должен выглядеть- мы можем ключ вычислить.. (по имени персонажа) .. аналогично тому как я уже описывал что выяснил что используется обычный ксор на ключ для шифровки данных в пакете.. на етом етапе мы выяснили что ключ начальный- совпал для 3 и 4 пакета (исходящего и входящего).. вот дальше сложней было..
я приведу пример:
ДАНО:
3B C6 2D 02
НАЙТИ:
b9 55 00 00 37 43 00 00
задача была вывести закономерность как из исходных данных которые приходят во втором пакете (входящий) 4 байта найти 8 байтов ключа (начального).. формулу вывести.. и с виду логики нет никакой.. закономерности не просматривается.. но есть несколько методов математических которые возможно приведут к успеху (не факт) ... первое- что подумалось- используется ксор чегото на что то.. так как всё что выше было решено применяло ксоринг.. но манипуляция с числами некчему не привела... поетому был выбран такой еще 1 метод очень скользкий и трудоемкий.. отмониторить таких пар: ДАНО-НАЙТИ очень много.. и посматреть на них с верху.. особенно на те пары в которых повторятся значения.. ну какието числа повторятся.. и в результате (лог не полный, логов было больше намного, трудоемко, каждый раз заного логиниться с нуля..) было получены пары (ДАНО- НАЙТИ):
1************************
3B C6 2D 02
b9 55 00 00 37 43 00 00
//2 xor 43= 41 //2D xor 1A=37
2************************
F1 A5 6E 77
73 36 00 00 74 36 00 00
//77 xor 36 =41 //6E xor 1A = 74
3************************
F4 FF 13 48
76 6c 00 00 09 09 00 00
//48 xor 9 =41 // 13 xor 1A= 09
4************************
90 BA 2C 12
12 29 00 00 36 53 00 00
//12 xor 53= 41 //2C xor 1A= 36
5************************
0D A0 E3 42
8f 33 00 00 f9 03 00 00
//42 xor 3= 41 //e3 xor 1a= f9
6************************
E5 D5 3C 44
67 46 00 00 26 05 00 00
//44 xor 5=41 //3C xor 1a= 26
7************************
6A 99 F2 77
e8 0a 00 00 e8 36 00 00
//77 xor 36=41 // f2 xor 1a= e8
8************************
78 C6 E8 34
fa 55 00 00 f2 75 00 00
//75 xor 34=41 //e8 xor 1f= f2
************************
теперь алгоритм получения начального ключа- стал понятен.. и КОР- его за 5 сек в ДЛЛ переложил.. и пакетхак заработал на шифрованном сервере-)) нефиг делать-)
обрати внимание на первый и последний лог.. во втором байте исходные даннные совпали с резултатом.. ето сразу наводит на мыслдь... если честно я мониторил такие вот пары значений до тех пор пока не попался повтор 77 в 4-м байте условия приводит к результату 36 в шестом байте ключа... это повтор.. для одних и техже исходных данных получили одинаковый результат.. дальше просто подумали и всё понятно стало.. каждый байт в ключе получается путем ксора исходных данных на константу, для каждого порядкового байта в исходных байтах своя.. а 3-4 и 7-8 байты в ключе всегда =0
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами

Последний раз редактировалось VORON, 03.09.2011 в 15:47.
VORON вне форума   Ответить с цитированием
За это сообщение VORON нажился 2 спасибками от: