![]() |
eXeL@B —› Основной форум —› Формат пакетов Network Assistant |
Посл.ответ | Сообщение |
|
Создано: 18 августа 2006 11:34 · Личное сообщение · #1 Есть такой чат от Gracebyte Software (http://gracebyte.com) для локальной сети на широковещалках. Мейн, личка, пересылка файлов, доска рисования и т. д. Бонусы - удалённое управлене процессам, просмотр копии экрана и т. п. Текущая версия 4.1, однако меня интересует 3.2 (т. к. её юзают в моей локалке). Мне удалось выдрать код шифровки и расшифровки пакета (применяется Blowfish, возможно, сторонний компонент, возможно, от TSM inc.) и в общих чертах разобраться со структурой пакета. В начале следует заголовок: версия пакета - байт, длина данных, как юдп-дейтаграммы - ворд - не шифруются; остальное: байт, всегда не больший двух, счётчик, тип пакета, хост- и ник-нейм, время отправки шифруется. Далее следуют собственно данные пакета (зашифрованы вместе с заголовком). Проблема в том, что интерпретация этих данных зависит от типа пакета, а их существет несколько десятков. Рано или поздно я, конечно, выясню коды наиболее важных, но работа эта абсолютно нетворческая и неинтересная ![]() ![]() |
|
Создано: 19 августа 2006 05:17 · Личное сообщение · #2 В свое время я разбирал их формат хранения сообщений (как раз для версии 3.2) =) Там тоже был блоуфиш, сбрутить пасс было уже вломы, но всю структуру от и до я восстановил. Авторы не идут на встречу ) Когда я сказал и показал им "отреверсенное" они напряглись и послали меня в лес. Если я не ошибаюсь один из "ботов" - работал с кем-то из команды грейсбайта. А ваще советую забить на насси и юзать ирк. Насси прошлый век: саппорт убогий, покупать дорого, косяк на косяке. В сад их. ![]() |
|
Создано: 19 августа 2006 14:11 · Личное сообщение · #3 Юзать - может быть, но реверсить ирку неинтересно. А народ у нас в сетке консервативный, до сих пор сидит на непропатченной наське 3.2 (той, которую можно вырубить специальным пакетом). Брутом паса я не занимался, однако идой нашёл функцию, которая вычисляет blowfish-подключи. Всего структура, которую я условно назвал TBlowfish занимает 4184 байта: два блока по 8 байт, всегда заполняются одним и тем же числом, далее идёт 4 кб - S-массив и 72 байта - P-массив инициализируемые числом пи без тройки (как в стандартной реализации). Вычисляются подключи дважды во время запуска программы до крипта и отсылки первого пакета. Первый раз используется ключ длиной 4 байта - тик таймера, второй раз 10-байтный (всегда один и тот же). Зачем нужен 4-байтный ключ я так и не понял, скорее всего с его использованием генерируются данные для первых пакетов типа "я здесь!" (поэтому имхо юзверя не видно, если он некорректно перегрузит наську, не дав ей отослать сообщение о выходе), но все пакеты (в т. ч. и первый) шифруются с 10-байтным ключём. Т. о. пароль имхо брутить не надо, он прямым текстом лежит в nassi.exe. Другое дело, что их реализация blowfish отличается от описания алгоритма, которое есть у меня. В частности используется непонятный 16-байтный блок из двух одинаковых четверных слов. Это дело напоминает фришный компонент от TSM inc., там он тоже юзается, и в коде можно найти очень похожие строки а-ля проверка ключа if len<1 or len>56 print "лажа" raise exception (строка "лажа" совпадает), возможне gracebyte юзает платную версию. В хелпе к компоненту описывается TBlock - массив 8-ми байт, но зачем он нужен не пишут. Можешь поделиться структурой "от" и "до"? Жизненный цикл и структуру пакета я уже отследил, но как происходит представление юзверей друг другу и формат зависящих от команды данных для различных команд (кроме нескольких) я ещё не разбирал ![]() |
|
Создано: 19 августа 2006 14:18 · Личное сообщение · #4 Mescalito пишет: В инете есть несколько глючноватых ботов (я имел дело с vsbot и krbot), есть скрипт посылающий пакет вызывающий аварийное завершение программы, т. е. программу копали. Возможно у кого-то есть полезная информация и он может поделится или попробуй реверснуть самих ботов, хотя это не очень "красиво" %) ----- Тут не могла быть ваша реклама ![]() |
|
Создано: 19 августа 2006 15:25 · Личное сообщение · #5 Они тоже написаны на делфях, причём один из них (vsbot) явно реверснут с оригинала (а может просто писали его люди приближенные к разработчикам), а второй (krbot) включает в себя ещё и код для Vypress чата, оба чата запакованы (хотя, это совсем не проблема), глючны и т. п. Да и главный недостаток - для работы требуют сам чат: они снифят его пакеты и самостоятельно расшифровуют ![]() |
|
Создано: 19 августа 2006 15:39 · Личное сообщение · #6 |
|
Создано: 19 августа 2006 15:47 · Личное сообщение · #7 Код расшифровки и шифровки я и так уже выдрал идой и компильнул (он небольшой, несколько килобайт в бинарнике). Осталось прифигачить снифер и можно самому читать пакеты (правда, это теоретически, на практике могут возникнуть проблемы). Меня сейчас больше интересует значение командно-зависимых полей пакета. ![]() |
|
Создано: 19 августа 2006 15:55 · Личное сообщение · #8 Mescalito пишет: Меня сейчас больше интересует значение командно-зависимых полей пакета. krbot вроде бы имеет PDK, там есть некая структура пакета, которую можно заполнять самому из своего плагина.. вот и посмотри как он формирует пакет в заисимости от заполненной плугом структуры ----- Тут не могла быть ваша реклама ![]() |
|
Создано: 19 августа 2006 16:19 · Личное сообщение · #9 |
|
Создано: 19 августа 2006 18:47 · Личное сообщение · #10 |
|
Создано: 19 августа 2006 19:07 · Личное сообщение · #11 |
|
Создано: 05 октября 2006 12:58 · Личное сообщение · #12 |
|
Создано: 05 октября 2006 20:32 · Личное сообщение · #13 |
|
Создано: 05 октября 2006 20:55 · Личное сообщение · #14 |
|
Создано: 07 октября 2006 15:43 · Личное сообщение · #15 |
![]() |
eXeL@B —› Основной форум —› Формат пакетов Network Assistant |