Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 25.09.2012, 19:22   #11
Пользователь
 
Регистрация: 18.09.2011
Сообщений: 88
Сказал Спасибо: 59
Имеет 2 спасибок в 2 сообщенях
Roman32 пока неопределено
По умолчанию

Rzone у тебя ООГ бот?память жрёт?)
Roman32 вне форума   Ответить с цитированием
Старый 25.09.2012, 21:28   #12
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Пока не планировал выкладывать ни исходники, ни билд. Может в далеком светлом будущем... На какой серв собрался то, если не секрет?
PornoTraktor вне форума   Ответить с цитированием
За это сообщение PornoTraktor нажился спасибкой от:
Старый 28.09.2012, 13:42   #13
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Бот оог, памяти жрет копейки, запускал сразу 60 окон Они при получении пакета на передвижение персонажа сравнивали ID с ID мастера, то-есть я указывал за кем им бегать, идет мастер - идут все, собираются или в кучу или как укажу по рандому рядом. Красиво было... как синхронное плавание)) но палевно ппц))

PornoTraktor можешь дать не целиком, а только часть для логин сервера в личку? Обещаю не распространять

Последний раз редактировалось Rzone, 28.09.2012 в 15:42.
Rzone вне форума   Ответить с цитированием
Старый 29.09.2012, 17:15   #14
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

а в моей самопальной софтине все "окна" в одном окне)) просто скраю список ботов между которыми можно переключаться... все равно ведь редко кто по одному роботу запускает - хз почему так не удобно в l2walker сделали.. когда внизу в taskbar-е 60 инстансов одной программы - это ад)
PornoTraktor вне форума   Ответить с цитированием
За это сообщение PornoTraktor нажился спасибкой от:
Старый 29.09.2012, 18:41   #15
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Я своего тоже пытался переделать, сделать "все в одном"
сделал тип NewBot, внес в него все переменные, ключи итд, работать не захотело а искать баги было влом.

Добавлено через 10 минут
Нашел инфу по шифрации этого пакета( вроде это пакет Init)
Шифруется по RSA ключ находится в конце пакета, последние четыре байта. Хм... Ключ по стандартным алгоритмам RSA должен быть 8 байт не?

Пытаюсь дешифровать используя свои старые исходники, там почему-то вторая часть RSA ключа прописана константой:

Код:
key_sc[4] = $A1
key_sc[5] = $6C
key_sc[6] = $54
key_sc[7] = $87
Так пробую дешифровать(язык BlitzMax):

Код:
Global buf:Byte[10000]
Global key_cs:Byte[8], key_sc:Byte[8]

key_sc[0] =$B1
key_sc[1] =$C8
key_sc[2] =$53
key_sc[3] =A4

key_sc[4] = $A1
key_sc[5] = $6C
key_sc[6] = $54
key_sc[7] = $87

For i=0 Until 8
 key_cs[i]=key_sc[i]
Next

file=ReadFile("1.txt"); L$=ReadLine(file); CloseFile(file)
For i=0 Until Len(L$)/3
  b=unhex(Mid(L$,i*3+1,2))
  j=i-2
  If j=>0 Then buf[j]=b
Next

PrintBuf(186)

DecodeRSA(buf, 186)

PrintBuf(186)

'=====================================================
Function DecodeRSA(raw:Byte Ptr, size:Int)
  Local i:Int=0, j:Int=0, k:Int, L:Long, i1:Int
        For k=0 Until size
            i1 = raw[k] & $FF
            raw[k] = (i1 ~ (key_sc[j] & $FF) ~ i)  ; j:+1
            i = i1
            If j >7 Then j=0
        Next
        L = key_sc[0] & $FF
        L = L | ((key_sc[1] Shl 8) & $FF00)
        L = L | ((key_sc[2] Shl 16) & $FF0000)
        L = L | ((key_sc[3] Shl 24) & $FF000000)
        L:+(size-2)
        key_sc[0] = L & $FF
        key_sc[1] = ((L Shr 8 ) & $FF)
        key_sc[2] = ((L Shr 16 ) & $FF)
        key_sc[3] = ((L Shr 24 ) & $FF)
End Function
Фигня получается.... Дешифровать нужно с первыми двумя байтами или нет? Или я ключ неправильно собрал?

Последний раз редактировалось Rzone, 29.09.2012 в 18:41. Причина: Добавлено сообщение
Rzone вне форума   Ответить с цитированием
Старый 29.09.2012, 19:11   #16
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

что?... из 184(не считая 2ух первых байтов размера) байт пакета Init 128 байт это RSA публичный ключ (приватный знает только сервер) которым ты зашьешь логин\пароль - это сделано чтобы если даже кто перехватить твой пакет, ему жопу пришлось порвать на бритаский флаг чтобы получить оттуда лог\пар))

Схема с Init такая
1.используя статичный blowfish ключ открываем 184 байта пакета
1.1 первый байт должен получится 00 - опкод пакета Init
2.[n-8,n-4] (где n - конец пакета) - это XOR ключ. Этим ключом открываем с 5го по 172 байт.
3.первые 4 байта после опкода - sessionId, затем 4 байта protocolId, после 128 RSA ключа
3.1 в RSA ключе байты перепутаны или даже проксорены - на него надо натравить какую-то статичную функцию которая сделает из него нормальный
4.с 153 байта по 169 лежит динамический blowfish ключ

Вроде нигде не наврал... если что поправьте)

Если где ошибешся, не видать тебе следующего пакета как своих ушей) good luck
PornoTraktor вне форума   Ответить с цитированием
За это сообщение PornoTraktor нажился спасибкой от:
Старый 29.09.2012, 23:02   #17
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Спасибо. Ушел пробовать)

Добавлено через 1 час 24 минуты
Вот что получилось:

Код:
Было:
BA 00 23 13 64 46 D7 14 CF C5 13 BF 8A 3E 41 23 
9B 83 80 BA 88 91 67 E9 64 A9 D3 47 01 A6 01 E5 
B8 FA EC 26 E3 8E F1 D1 FB 0B C6 32 1C 29 30 EA 
2D 1D 46 5C 62 FF C7 7A 92 82 CB 9A 99 C3 44 9B 
77 F3 FA 2F 67 14 13 DF BA 5C 68 A7 0B B6 BA 0E 
8F 33 DB 7A 21 9F 16 C3 05 B1 0B 32 89 AF 21 7C 
F7 B0 21 07 4C 02 D8 8F EB 6F 01 EA C4 1F BD CD 
18 96 D4 AF 9A AD 51 82 F3 1A 2F 79 2F 55 58 82 
BD E4 72 61 F1 D3 7C 5F B9 CD 97 2B 0A 62 BD D0 
38 DF 55 E8 FD 98 FB 29 02 6F 63 B5 FA F7 75 16 
BF 87 19 1E A5 D9 C4 18 37 51 5E 9D 2D 23 46 58 
1A 32 5B ED A3 7F B1 C8 53 A4 

Стало:
BA 00 22 DE 8A 95 6E B1 63 E8 9C A2 F7 DA 46 03 
A2 46 B9 5D 86 7D CB B8 FF 74 44 92 8E 86 7F 73 
27 43 56 B3 E6 9E 1D 82 D4 E4 88 2D 65 64 09 B1 
2C 7A 45 03 A1 81 F8 52 A7 46 5A 4F 8B 58 BD CD 
1A 15 15 EA 7F FC 3E 15 D7 9E AD 09 19 1F 98 8F 
3A A2 9A 03 83 56 1F AD F6 DD C5 5A 3D 01 2C CF 
C2 89 D0 E5 9B C1 03 B5 E0 30 45 D1 97 A8 E7 19 
8E EA 98 AF 82 4E 58 A7 9A 5B 17 8B 4B 2D BA 6B 
98 BF 89 E8 D7 01 DD 56 F4 64 E7 CC 6F 54 4E DC 
28 CA 1E 5F A9 0D 85 53 F4 1F 79 3C 18 5E DE 64 
5F CE 14 CB CB B7 5A 90 84 1A 53 13 C4 F4 84 5B 
09 0B 8D E4 2F D8 63 DC 70 1A
Ключ использовал такой: 6B 60 CB 5B 82 CE 90 B1 CC 2B 6C 55 6C 6C 6C 6C
Опкод не ноль... Где ошибся?

Последний раз редактировалось Rzone, 29.09.2012 в 23:02. Причина: Добавлено сообщение
Rzone вне форума   Ответить с цитированием
Старый 29.09.2012, 23:15   #18
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Rzone, дешифровка пакетов логин сервера, где-то на форуме была, поищи.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 29.09.2012, 23:21   #19
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Ключ верный, у меня тоже такой 6B 60 CB 5B 82 CE 90 B1 CC 2B 6C 55 6C 6C 6C 6C. Видимо в алгоритме обшибка...
PornoTraktor вне форума   Ответить с цитированием
За это сообщение PornoTraktor нажился спасибкой от:
Старый 30.09.2012, 07:24   #20
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Нет там ошибки, он на С4 работал, я его с дельфийских исходников переписывал. А нестандартным ключом могут шифровать?
В Interlude тип шифрования был изменен - пакет
Код:
Init содержит динамический Blowfish ключ случайно генерируемый для каждого клиента. Этот пакет сначала шифруется по алгоритму XOR(ключ генерируется
случайным образом и помещается в  конце пакета), а потом шифруется по алгоритму Blowfish, статическим ключом.
Это с документации про протокол Л2. Может теперь еще надо ксором дешифровать? Опкод сразу после дешифровки блоуфишем должен быть?

NLObP, Читал форум, всех везде отсылают на доки, а там про интерлюд поверхностно очень.
Rzone вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

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

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