Страница 139 из 376
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 12:21 pm
VooDooN
dmw писал(а):пакеты шифрованы, на android-устройствах ключ находится в /data/data/com.broadlink.rmt/databases/rmt.db
Если вытащите этот файл (нужен root), выложите его вместе с захваченными пакетами, расшифруем.
nick7zmail писал(а):Эмм...это пакеты полученные или отправленные? Я то отправленный хотел получить...там не так много байт должно быть...нам главное заполучить управляющий...и да, по любому расшифровывать надо.
Что вы называете ключом в базе, devicePassword? Просмотрел всю базу, там нет ничего такого, кроме devicePassword. Я просто установил E-Control на другой девайс с рутом и вот думаю, все ли ключи успели записаться в базу. Не рано ли я ее вытащил... Потом уже пакеты отлавливал.
В общем, вытащил базу, добавил в архив 3 пакета (Upstream и Downstream) для каждого. В имени файлов указал примерные значения, которые могут быть в ответе (точно определить не могу в каком пакете какие значения).
Когда в E-Control открыта вкладка с мощностью, то в packet capture каждые 3 секунды я вижу по 2 пакета для SP3S, в первом я получаю маленький ответ, а во втором - большой. Оба вида запаковал с пометками small и big.
<Архив удален специально>
Хотелось бы научиться расшифровывать это все дело

Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 12:31 pm
nick7zmail
VooDooN писал(а):
Хотелось бы научиться расшифровывать это все дело

http://php.net/manual/ru/function.mcrypt-decrypt.php
Пожалуйста, учитесь)))
Применительно к бродлинку
Код: Выделить всё
$key = array(0x09, 0x76, 0x28, 0x34, 0x3f, 0xe9, 0x9e, 0x23, 0x76, 0x5c, 0x15, 0x13, 0xac, 0xcf, 0x8b, 0x02);
$iv = array(0x56, 0x2e, 0x17, 0x99, 0x6d, 0x09, 0x3d, 0x28, 0xdd, 0xb3, 0xba, 0x69, 0x5a, 0x2e, 0x6f, 0x58);
function aes128_cbc_decrypt($key, $data, $iv) {
return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
}
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 12:45 pm
dmw
VooDooN писал(а):Что вы называете ключом в базе, devicePassword? Просмотрел всю базу, там нет ничего такого, кроме devicePassword
Не совсем, но вы в верном направлении))) Нужно смотреть таблицу deviceTable, поле publicKey и terminalId.
В Вашем случае для вашего SP3S:
Код: Выделить всё
$key_authorized = array(0x1b, 0xc9, 0xb1, 0x25, 0x2f, 0x2b, 0x05, 0x61, 0x83, 0x6d, 0xff, 0x6f, 0x39, 0xdb, 0x63, 0xd5);
$id_authorized = array(1, 0, 0, 0);
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 12:49 pm
nick7zmail
Не, ну если в мой способ в $data вогнать зашифрованный пэйлод - он его расшифрует вроде)) а нам надо именно управляющий байт ведь вычислить...
А это уже далее - авторизация, и получение ответа в скрипте...
Ну да ладно...я в этом меньше понимаю 100%)) т.к. не практиковался особо...всё только в теории предстваляю.
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 1:10 pm
dmw
Вот например ваш расшифрованый "2.1. Value 12.8 - Upstream":
Код: Выделить всё
0000 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
и ответ на него "2.2. Value 12.8 - Downstream (big answer)":
Код: Выделить всё
0000 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0 00 00 00 00 00 00 00 00 00 00 00 00 53 50 33 53
00d0 28 31 36 41 29 00 00 00 00 00 00 00 00 00 00 00
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01f0 e1 07 3a 32 0d 02 04 07 7e da 06 81 8f 28 31 e5
Тоесть видим что в запросе используется управляющий бит = 0x01.
3.2. Value 12.72 - Downstream (big answer):
Код: Выделить всё
0000 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0 00 00 00 00 00 00 00 00 00 00 00 00 53 50 33 53
00d0 28 31 36 41 29 00 00 00 00 00 00 00 00 00 00 00
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01f0 e1 07 04 33 0d 02 04 07 fb c7 af 6c d6 60 3a d0
Подготовил Вам файлик для последующего анализа что там нам будет выдавать SP3 на запросы по аналогии как искали пищалку у S1 (ip-адрес в начале скрипта поставьте верный):
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 1:28 pm
VooDooN
Спасибо!
Интересно, что поле publicKey было пустым, если смотреть базу через андроид-приложение SQLiteViewer, а вот теперь открыл через виндовый "DB Browser for SQLite" - вижу значения.
Вечером посмотрю, что покажет скрипт. Но пока появилось ощущение, что мы вернулись опять к тому, что было написано тут с картинкой-"сапогом":
viewtopic.php?f=5&t=3544&start=1360#p55612
Уж очень похоже. Мне тогда не удалось поймать байты с нагрузкой.
Еще очень интересно, что это за пакет с пометкой small, может там нагрузка указана?
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 1:41 pm
nick7zmail
Ну сейчас в библиотеке - байт для запроса тоже
Так что вы 100% получите ту же картину с "сапогом" =D
Посмотрите маленький пакет...может в нем что-то другое зашито...
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 1:47 pm
VooDooN
nick7zmail писал(а):Ну сейчас в библиотеке - байт для запроса тоже
Так что вы 100% получите ту же картину с "сапогом" =D
Посмотрите маленький пакет...может в нем что-то другое зашито...
Да, тот скрипт, что я использовал, содержит
Я его тогда подобрал методом перебора
Сравнил скрипт, что я использовал и последний скрипт от dmw - почти 1 в 1. Так что вернулись к тому, что было

В результате, я буду видеть такую картинку, как я записал в gif вот тут:
viewtopic.php?f=5&t=3544&start=1370#p55640
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 1:51 pm
dmw
Ах, да. Про сапог то я и забыл. Значит Вам скрип уже не нужен, т.к. он у Вас есть. Ну да ладно.
Что касается small - он зашифрован другим ключем, не SP3
Re: Модуль Broadlink
Добавлено: Вт июл 04, 2017 1:56 pm
nick7zmail
dmw писал(а):Ах, да. Про сапог то я и забыл. Значит Вам скрип уже не нужен, т.к. он у Вас есть. Ну да ладно.
Что касается small - он зашифрован другим ключем, не SP3
Ну варианта тогда 2...либо мощность вычисляется каким-то ведомым одним китайцам способом из байт последней строки (в чем я сомневаюсь), либо таки запрашивается другим пакетом. Может у какого то из больших пакетов управляющий байт в запросе другой?? Либо таки он в этом шифрованном непонятным способом пакете...
Можно, как вариант, перебором попробовать =D...вариантов всего 255...но ответ, скорее всего в первых 20 будет.