LIMB
Вход Регистрация

тема

433, Модуляции, Rolling-code - разбираемся что такое радиосигналы, как с ними работать и реверсим случайный дамп с улицы!

adrenaline · · 15 ответов · 474 просмотров


Не удалось прогрузить медиа


Всем привет! Продолжая мой "цикл" статей про аппаратный хакинг и реверс-инжиниринг - сегодня поговорим что такое радиосигналы, частоты, как оно вообще работает и почему твоего китайца могут угнать за 5 секунд. Обсудим:

  • Что такое радио, как работают сигналы (скучно)
  • Реверсим случайный сигнал и узнаем что это
  • Как работать и на что записывать
  • Вывод

Что такое радио и как с ним работать?
Радио - способ передачи информации с помощью радиоволн. Радио передает любую информацию. Но у многих радио = музыка, хотя это не так. Радио делят по виду частот на:
  • УКВ - Ультра короткие волны от 30 до 3000 Мгц(FM радиостанции, телевидение)
  • УВЧ - Ультра высокие частоты от 300 мгц до 3 Ггц (Wi-Fi, Bluetooth, пульты ДУ и многое другое).
  • Еще ВЧ, ОВЧ.. (если вы физику в школе не пропускали, то прекрасно знаете остальные виды частот)
В статье мы рассмотрим УВЧ, посколько бы будем с ними работать. УВЧ не просто волна, которая чет в себе несет, а потом сказочным образом преобразуется в звук или цифры. У УВЧ есть понятие модуляции. Модуляция бывает двух типов: амплитудная и частотная. Амплитудная модуляция делится на:

AM/OOK/ASK
ASK
 - значение по амплитуде, если сила 100% - единица, то условные 30% - ноль.
OOK - самый простой из всей компании. Либо сигнал есть - единица, либо его нет - ноль. Можно сравнить с принципом работы ИК сигналов:
Не удалось прогрузить медиа

ИК сигнал работает просто. Преамбула - сплошная единица, говорит приемнику приготовиться к передаче, потом идет адрес с командой (там и работает либо сигнал есть, либо нету, участок после преамбулы не считается за звук в пустоту), т.е сама передача.

FM/FSK
Работает за счет изменение частоты - возьмем самую известную и популярную частоту - 433,92 Мгц. Если передатчик прибавит 50 кГц - получим единицу, если убавит 50 кГц - получим ноль.

Есть еще фазовая, но мы ее рассматривать не будем, т.к популярностью для систем управления она не пользуется.
Также радиосигналы от пультов несут в себе код двух типов: статичный и rolling-code:

Статика: 1 нажатие - 0x123456, 2 нажатие - 0x123456 и т.д...
Rolling-code: 1 Нажатие 0x1A2I3J + 0x1234, 2 Нажатие 0x9F3U8I + 0x1234 и т.д...

По факту статика при любых условиях будет отдавать один и тот же код, а вот rolling-code не так прост. У каждого производителя своя формула расчетов, публично ее никто не раскрывает (потому что тогда весь смысл rolling-code пропадает, т.к любой сможет его посчитать), но тот же пульт от ворот может пользоваться формулой (Счетчик нажатия + условное число проверки) + код кнопки. Условное число может задать производитель на заводе, разное для каждой единицы аппаратуры. Статику применяют в системах, где она вообще не нужна. Холодильник в магазине, замок шкафчика, свет, пробка - все сидит на статике. Но вот машины, системы охраны и прочие штуки, где ущерб от доступа 3-х лиц может быть серьезным, всегда стоит rolling-code. Интересный факт: машины марки Haval от машины к машине могут быть на статик коде, а значит перехватив сигнал брелка, вы сможете позаимствовать автомобиль (также еще очень старые сигналки тоже могут сидеть на статике).
Поскольку читать ковер текста о волне и о всей специфике волн никому не интересно (да оно вам и не надо, если вы конечно не товарищ с рацией, выбирающий антенну под каждую частоту), то мы сразу перейдем в нашу "лабораторию".

А зачем вы это реверсим?
Потенциал реверса радио огромный. Как минимум вы можете узнать тип системы, а если система посылает про subghz информацию - сможете разобрать пакет и модифицировать его. (если возникнут вопросы - милости прошу в лс, помогу :) ). Цель реверса радио ровно такая же как у реверса программ - либо обойти ограничения, либо скармливать свои данные получателю.

Какие виды атак есть?
  • Самый известная атака на rolling-code, которой пользуются угонщики авто - захват и глушение. Нужную частоту заглушают рядом с приемником, тем самым ослепляя его. Код-граббер находясь ближе к условному брелку/пульту меньше реагирует на заглушение (просто установив порог шума, тем самым отделяя сигналы слабее XX dbi), при нажатии успешно перехватывает код, глушение прекращается, а владелец авто нажимая кнопку еще раз, списывает неудачу на случайность. Вуаля! Авто закрыто, владелец спокоен и ничего не подозревает, а у нас есть валидный дамп. Из минусов: атака не работает, если в формуле (вспоминаем что я писал выше) есть счетчик нажатий, т.к приемник не примет сигнал, если он был два нажатия назад.
  • Перехват эфира, мы рассматривали выше. Код-граббер просто записывает радиосигналы, а мы ручками через URH реверсим сигнал. Самый примитивный вид атаки, срабатывает на статическом коде
  • Брутфорс. Если мы говорим про статику, то затронем и шлагбаумы :). Шлагбаумы обладают длиной ключа либо 12 бит, либо 24. Посколько код статический и никак не видоизменяется, то мы можем просто посылать пакеты с рандомным ключом 12/24 бит длины. 12 битные ключи можно в среднем перебрать за 5 минут. Также есть замечательная последовательность Де Брюйна, она позволяет посылать все биты сплошянком, от чего приемник захватывает только нужные ему, поскольку все биты проходят черег сдвиговый регистр, где все ненужное - игнорируется
  • Атаки на саму систему. Бывает так, что заводские ключи, которые играют самую важную роль в генерации ключа для rolling-code сливают наши любимые реверсеры, от чего любой может сгенерировать код. Все равно что выучить чужой язык, будешь понимать о чем говорят другие :).

Чем это опасно?
В первую голову - угон авто. Вы не поверите сколько машин на наших дорогах подвержены таким атакам. Для СНГ эта причина мало подходит, но в США куча датчиков безопасности передают свой статус по subghz в открытом виде. Заглуши и получи доступ в дом условного Джона. На самом деле мест, где можно применить навык из статьи уйма, просто для каждого они свои. В РФ куча складов и логистических объектов сидят на статике, плюс и загородная недвижимость ровно также стоит на статике (если там вообще охрана управляется с помощью iButton - пиши пропало, его тоже можно забрутить), про возможность массой заставить сигналить меткам заказов умолчу, там тоже все висит на статике и отличается лишь номером метки (еще одна причина полезности реверса радио - модификация пакетов!). Масса систем безопасности работает на радио, так что исследуйте и пополняйте список эндпоинтов для атак :)

А как защититься?
Самый простой способ защиты - использовать двухсторонние протоколы. Приемник шлет случайный пакет, передатчик подписывает его своим ключом и готово! Теперь даже захват с глушением не поможет, т.к случайный пакет актуален только в момент до приема его, но уже с ключами передатчика. Также я заметил что многие мои дампы сидят на KeeLoq, но вся суть его в том, что алгоритм его работы есть давно в интернете, даже библиотеки для ардуино могут его расшифровать. Поэтому стоит использовать стойкое шифрование по типу AES-256. Такое же шифрование используют на цифровых рациях, чтобы переговор нельзя было расшифровать. Ну и стоит сказать про уникальные ключи, схожий способ используется в гугловских сопроцессорах безопасности Titan M2, там ключ генерируется из-за сдвига атомов на этапе производства, что делает раскрытие алгоритма генерации невозможным.

Реверсим сигнал
Для работы с любым радио сигналом вам пригодится прога под названием Universal Radio Hacker. Для разбора я выбрал дамп сигнала, который записал на улице. Закидываем наш дамп в прогу и наблюдаем такую картинку:

Не удалось прогрузить медиа


Если вас напугал график - не пугайтесь, это те же нули и единицы, что мы рассматривали выше. Приступим к работе с сигналом! Для начала давайте приведем настройки в порядок и избавимся от кучи нулей. Сейчас граница (зеленый - 0/фиолетовый - 1) слишком высоко, потяните ее мышкой вниз до тех пор, пока она идеально на встанет вровень с линией на графике. Теперь зумим график к началу любого пакета (пакет - куча белых полосочек, если по простому)

Не удалось прогрузить медиа


Зазумили - выделяем самый первый столбик от начала и до конца, это даст нам базовый тайминг, его потом вводим в настройки сбоку. Цифрой один отмечена длина сэмпла, от нее зависит как URH будет считать нули и единицы.  Можете выделить мышкой кусок бинарного кода, URH сам будет выделять участок на графике, который отвечает за бинарный код.

Не удалось прогрузить медиа


Отдаляемся и выделяем желаемый кусок графа, я просто беру кусок с конца, главное чтобы перед ним стоял пропуск

Не удалось прогрузить медиа


Видим что прога подкрасила участок бинарки, за который отвечает выделенный нами граф. Смотрим на структуру - 111111000111000000111000000111000000111000000111111000111111000111000000111111000111111000111000000111000000111111000111000000111111000111000000111111000111111000111000000111111000111000000111111000111000000111111000. Можем увидеть что:
  • 111111 - длинный HIGH, в два раза больше короткого HIGH - 111
  • 000 - короткий LOW, 000000 - длинный LOW соотвественно.
Если вы думали что сейчас будем переводить бинарку в текст - нет, разберем бинарку на... бинарку. Из разбора можно прикинуть, что длинный HIGH + короткий LOW = 1 и наоборот. Получаем последовательность:
111111000 - 1
111000000 - 0
111000000 - 0
111000000 - 0
111000000 - 0
111111000 - 1
111111000 - 1
111000000 - 0
111111000 - 1
111111000 - 1
111000000 - 0
111000000 - 0
111111000 - 1
111000000 - 0
111111000 - 1
111000000 - 0
111111000 - 1
111111000 - 1
111000000 - 0
111111000 - 1
111000000 - 0
111111000 - 1
111000000 - 0
111111000 - 1
Складываем, получаем 1000 0110 1100 1010 1101 0101, складываем кол-во цифр по блокам - 4 + 4 + 4 + 4 + 4 + 4 = 24 бита. 24 битная длина свойственна китайским энкодерам, у которых роллинг код отсутствует! Та-дааам! Вы научились определять тип энкодера по сигналу пульта!
Для справки: у статики длина кода до 24 бит, все что >24 бит со 100% шансом является rolling-code. 12 битная длина обычно является знаком систем CAME, там все 12 бит это код, у систем NICE flo 10 бит - код + 2 бита - кнопка.

А что использовать для записи радиосигналов?
Мы рассмотрели как работать с радиосигналом уже записанным в RAW формате, но как же нам его вообще получить? Для работы с радиосигналом чаще всего, да и в целом правильнее использовать HackRF, но если вы не хотите тратить кучу денег на полноценную SDR плату, то можете взять себе RTL-SDR за 2-3к рублей. Из минусов - нужен под рукой комп или телефон на андройде, а также у вас не будет возможности транслировать сигнал в эфир. Рассматривать Flipper zero здесь смысла не имеет, т.к это мультитул для всего подряд, да и за его цену для работы с радиосигналами логичнее и профитнее купить HackRF. Для работы с радио за копейки можно собрать связку из ESP32 + CC1101, рассматривать здесь тоже думаю смысла нет, т.к любая иишка вам напишет простецкий код для перебора 12/24 битного кода для шлагбума и его трансляции (процентов 60 вы сможете открыть точно).

Модим сигнал и отправляем его
Направив антену на соседний дом (до него чуть больше метров 60), я стал замечать что сыпятся пакеты с паузой в минуту. Сняв дамп с помощью связки ESP32 + CC1101 я закинул в URH и увидел следующую картинку:
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com



Один пакет повторяется три раза. Загуглив, я узнал что таким страдают в основном метеодатчики, которые настраиваются с каким интервалом будут сыпать инфой о температуре. Рассмотрим саму бинарку:

10101010000100011110100001000010110010110001111001

Если вы посмотрите самое начало статьи, то увидите схему работы ИК. Грубо говоря там порядок такой - преамбула, адрес, код. В начале нашей бинарке есть 10101010, смело можно считать что это преамбула, т.к никаких значений там нет, видимо выступает знаком для станции что сигнал идет с датчика. Два нуля после будем считать за паузу, потому что выяснить их цель не удалось, да и роли они не играют. Теперь самое интересное: понять что делает остальная часть. Поскольку это животние было мне неизвестно, да и URH не очень горел желанием приводить это в человеку понятный вид, пришлось прошерстить репозитории по разным либам для метеодатчиков под ардуино. Разделив остаток по 8 битным блокам на 5 штук мы получим: 1 блок - несет штамп протокола (4 бита) и первую часть айдишника датчика (4 бита, видимо замах на большое количество датчиков). 2 блок - вторая часть айдишника (4 бита), знак температуры (0 - плюс, 1 - минус, 1 бит. Пару раз на дампах датчик выдавал какие-то неадекватные значения температуры после дождя), Часть температуры (3 бита). 3 блок - отдан полностью под температуру. 4 блок - полностью отдан под влажность, 5 блок - отдан под контрольную сумму. Теперь приступим к нашей шалости! Если просто задекодить наши 00100001011 в обычный текст, мы получим:
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com



Но переведя это в HEX мы получим:
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com



Переводим HEX в DEC (в десятичные числа) и получаем 267. Разделив на 10, получим 26,7 градусов цельсия, что с погрешностью сходится с реальной погодой за окном. Повторим такой же принцип действия с влажностью и получим 44 процента, тоже сходится. Давайте устроим на станции апокалипсис и сделаем все значения в максимум 99. Для этого повторяем схему выше наоборот, CRC считается легко и просто, берем наши первые 4 пакета, их переводим в HEX, получаем 47 A3 DE 63 и с помощью sunshine2k.de, выставляя следующие настройки получаем наше значение CRC
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com



Переводим результат в бинарку, собираем строчку и получаем: 10101010 00 01000111 10100011 11011110 01100011 01010101. Чтобы эту штуку отослать я опять воспользуюсь ESP32 + cc1101. CC1101 подключается по схеме:
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com



VDD - 3.3V (5V убьют наш модуль)
GND - GND
SCK - G18
MISO - G19
MOSI - G23
CSN - G5
GDO0 - G2

Получаем вот такую штуку:
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com



Прошиваем через Arduino IDE этот скетч:
Спойлер: Код
C++:
#include <ELECHOUSE_CC1101_SRC_DRV.h>
#define TX_PIN 2

const uint16_t BITS_TIME = 1000;
const uint8_t raw_bits[] = {
  1,0,1,0,1,0,1,0,
  0,0,
  0,1,0,0,0,1,1,1,
  1,0,1,0,0,0,1,1,
  1,1,0,1,1,1,1,0, // температура
  0,1,1,0,0,0,1,1, // влажность
  0,1,0,1,0,1,0,1  // наш crc
};
const uint16_t TOTAL_BITS = sizeof(raw_bits) / sizeof(raw_bits[0]);

void setup() {
  Serial.begin(115200);
  pinMode(TX_PIN, OUTPUT);
  digitalWrite(TX_PIN, LOW);
  ELECHOUSE_cc1101.setSpiPin(18, 19, 23, 5); // указываем пины нашего модуля
  ELECHOUSE_cc1101.Init();
  if (ELECHOUSE_cc1101.getCC1101()) {
    Serial.println("All good!");
  } else {
    Serial.println("Check cc1101 connect!");
  }
  ELECHOUSE_cc1101.setMHZ(433.92); // указываем частоту где будем передавать
  ELECHOUSE_cc1101.setModulation(2); // ставим нашу модуляцию ASK/OOK
  ELECHOUSE_cc1101.setPA(12);
  ELECHOUSE_cc1101.SetTx();
}

void loop() {
  for (int repeat = 0; repeat < 3; repeat++) {
    for (int i = 0; i < TOTAL_BITS; i++) {
      digitalWrite(TX_PIN, raw_bits[i] ? HIGH : LOW);
      delayMicroseconds(BITS_TIME);
    }
    digitalWrite(TX_PIN, LOW);
    delay(20);
  }

  Serial.println("Пакет ушел");
  delay(10000);
}

Открываем запускаем нашу машинку, открываем Serial-порт и наблюдаем как станция сходит с ума, а вы научились модифицировать пакеты и слать их с помощью ESP32 :)

Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com


Вывод
Радио - не только музыка. Вокруг нас постоянно кружат радиосигналы, о которых вы даже не знаете. Но эта статья научила вас их принимать и реверсить, извлекая пользу для себя ;). Также прикрепляю вам дамп, который разбирал в статье. Потренироваться и потыкать URH сойдет
Спойлер: Дамп, вставьте в блокнот и сохраните как 123.sub
Filetype: Flipper SubGhz RAW File

Version: 1

Frequency: 433920000

Preset: FuriHalSubGhzPresetOok650Async

Protocol: RAW

RAW_Data: 65 -275810 363 -19982 131 -8952 99 -464 99 -6036 131 -6888 261 -1422 99 -18726 65 -38446 133 -6950 99 -17850 97 -622 65 -8708 65 -4422 65 -394 131 -1494 65 -8786 65 -526 65 -7056 99 -14194 63 -17366 65 -9936 99 -598 99 -730 165 -366 67 -332 131 -334 99 -5918 99 -766 65 -866 133 -3356 67 -1422 65 -7068 97 -1222 65 -17702 99 -9012 99 -7050 65 -394 65 -1148 65 -726 97 -164 65 -5336 65 -1226 67 -1724 99 -268 133 -568 99 -796 129 -986 65 -1450 163 -458 97 -526 129 -560 97 -3214 99 -3180 65 -624 99 -2744 65 -3916 99 -436 97 -1554 99 -2820 65 -26996 97 -16574 133 -398 65 -8312 67 -10912 129 -66 129 -196 97 -362 229 -360 99 -360 131 -228 131 -232 133 -66 99 -264 99 -4544 65 -328 131 -1454 133 -1958 133 -7206 97 -1154 99 -9068 65 -898 65 -7168 101 -530 65 -168 133 -234 67 -198 133 -1094 65 -9456 99 -16824 65 -264 99 -600 99 -26926 65 -1824 99 -2660 131 -1362 65 -232 99 -5176 133 -6908 133 -19074 99 -16710 163 -888 165 -898 65 -2978 65 -1354 99 -792 165 -364 131 -1394 165 -66 165 -2338 67 -464 65 -1988 65 -1714 131 -66 99 -8584 133 -7772 99 -18270 65 -9976 97 -7782 99 -1262 99 -8394 99 -366 65 -15366 97 -894 65 -6790 167 -1394 131 -166 99 -7488 65 -7434 131 -766 65 -232 133 -762 65 -7254 65 -832 65 -1258 63 -8576 65 -18246 133 -8432 133 -532 65 -1588 99 -9988 97 -4226 99 -166 133 -432 131 -398 99 -332 67 -332 167 -434 131 -932 99 -696 65 -3738 99 -1922 99 -5014 131 -8246 97 -196 65 -18054 99 -330 65 -6728 131 -466 99 -8452 65 -794 99 -234 99 -2424 67 -894 131 -596 131 -7868 65 -796 99 -464 99 -266 97 -824 67 -332 99 -300 65 -564 67 -432 131 -536 101 -462 99 -326 129 -196 65 -264 65 -7668 65 -2336 97 -7856 63 -462 97 -3412 229 -460 97 -7368 65 -1388 97 -852 65 -432 67 -962 131 -6336 67 -298 461 -394 393 -396 393 -396 393 -366 423 -366 423 -366 421 -368 385 -404 383 -406 383 -406 381 -408 381 -3906 815 -380 801 -386 803 -378 377 -802 403 -756 417 -762 415 -790 387 -780 385 -806 775 -406 783 -380 409 -776 383 -802 381 -784 417 -748 815 -386 409 -782 385 -772 801 -402 383 -762 813 -388 383 -784 415 -776 783 -384 815 -356 437 -750 815 -356 801 -408 787 -366 425 -756 417 -762 417 -790 387 -778 385 -810 381 -784 393 -792 799 -366 417 -762 813 -388 801 -382 401 -788 387 -778 803 -382 785 -418 781 -388 407 -782 781 -386 805 -382 785 -394 793 -406 791 -382 797 -384

RAW_Data: 787 -388 813 -380 783 -384 801 -384 807 -382 803 -386 805 -378 783 -396 791 -404 365 -784 791 -394 801 -396 791 -404 785 -158376 99 -6466 131 -7644 131 -2052 65 -3314 99 -198 129 -986 97 -1318 99 -8670 65 -4974 99 -166 133 -266 65 -8230 65 -17820 65 -9048 131 -9822 99 -3778 99 -862 99 -6824 67 -3780 65 -300 101 -168 133 -298 99 -1160 131 -302 67 -5700 131 -230 67 -298 131 -564 67 -432 65 -1894 99 -27982 97 -734 99 -7546 97 -1048 99 -398 129 -8396 131 -17000 65 -366 97 -564 67 -466 99 -7534 65 -1992 99 -198 99 -498 99 -1746 97 -266 131 -332 131 -7854 97 -166 65 -7160 65 -1128 99 -766 67 -200 65 -16978 133 -1154 99 -7156 65 -698 99 -1026 65 -1620 97 -3752 131 -630 67 -464 65 -566 99 -328 131 -364 99 -270 65 -3520 65 -1018 65 -17134 99 -9816 99 -7818 65 -1096 99 -332 65 -862 65 -896 99 -2022 165 -1164 65 -1658 99 -8488 165 -6966 99 -528 65 -598 65 -332 65 -7078 97 -7636 97 -596 65 -1388 65 -8004 233 -1852 129 -362 131 -526 65 -296 131 -1316 65 -360 65 -962 99 -332 99 -920 65 -262 99 -166 265 -930 129 -426 165 -230 97 -232 97 -5278 97 -330 97 -460 129 -1152 131 -1648 63 -590 99 -7774 65 -6894 97 -1864 65 -462 99 -996 199 -234 97 -168 99 -7918 231 -1094 131 -230 67 -6988 97 -98 65 -9382 133 -3878 165 -894 65 -166 97 -958 131 -7488 163 -992 65 -268 99 -696 65 -234 99 -996 197 -364 97 -98 197 -1780 65 -1120 97 -560 163 -1856 693 -598 97 -400 133 -462 99 -1524 197 -362 99 -5692 97 -592 65 -528 131 -456 97 -264 195 -98 163 -1286 65 -3434 165 -364 97 -200 99 -7886 99 -6800 99 -700 97 -200 99 -7100 99 -726 129 -196 197 -924 65 -230 199 -98 99 -1346 99 -7064 131 -1660 129 -66 99 -1180 65 -6344 97 -790 65 -98 65 -426 99 -232 99 -930 99 -266 97 -268 65 -464 129 -1890 99 -800 65 -366 65 -1462 99 -466 65 -198 297 -332 163 -898 99 -300 133 -198 99 -166 163 -200 99 -1130 65 -1362 65 -394 99 -528 65 -1062 99 -434 397 -696 131 -232 65 -234 65 -564 65 -7024 99 -134 65 -362 99 -132 131 -100 67 -1328 65 -6786 65 -1456 67 -166 131 -134 99 -5708 65 -1062 67 -6408 65 -6338 65 -1366 99 -266 165 -900 97 -7024 65 -1814 197 -8978 131 -432 131 -7374 131 -166 67 -332 199 -134 65 -168 65 -300 65 -198 131 -4498 99 -132 231 -958 97 -986 129 -1576 131 -66 165 -100 65 -1390 231 -66 131 -762 99 -434 67 -692 197 -200 97 -3252 267 -166

RAW_Data: 99 -364 131 -834 229 -268 133 -464 97 -1188 165 -264 99 -496 163 -132 63 -132 129 -100 163 -1256 65 -1394 513 -380 419 -352 413 -386 411 -356 437 -358 399 -394 397 -396 393 -366 423 -366 423 -366 423 -368 419 -3900 785 -418 355 -800 405 -756 417 -762 417 -788 783 -382 783 -392 401 -784 785 -394 793 -408 365 -782 431 -752 789 -418 389 -770 801 -366 409 -792 797 -364 801 -394 395 -784 803 -356 439 -746 801 -386 411 -778 803 -350 811 -384 815 -356 439 -748 391 -798 407 -756 793 -420 391 -778 785 -382 389 -798 407 -754 403 -782 429 -754 819 -388 387 -772 803 -398 771 -392 399 -786 409 -768 801 -402 791 -384 793 -384 407 -756 825 -364 821 -388 779 -382 783 -420 781 -386 803 -378 803 -356 833 -376 803 -356 799 -412 787 -366 819 -402 787 -388 781 -384 817 -384 771 -384 409 -772 809 -380 809 -384 801 -15648 443 -342 397 -380 435 -348 437 -378 405 -378 407 -378 407 -378 407 -378 409 -378 407 -380 407 -378 407 -3914 787 -366 423 -756 417 -762 417 -786 389 -782 809 -350 813 -382 391 -794 801 -366 819 -388 387 -782 413 -770 779 -384 413 -782 777 -384 415 -778 811 -350 809 -384 391 -794 799 -402 367 -780 793 -394 417 -756 811 -388 789 -388 779 -416 379 -162176 67 -132 65 -760 131 -132 131 -6608 97 -132 99 -1030 263 -7012 63 -588 99 -162 129 -428 65 -294 63 -362 131 -2342 99 -7168 65 -852 131 -6750 97 -68 165 -894 165 -830 65 -962 63 -66 231 -64 65 -8474 199 -1694 65 -726 231 -1250 65 -66 197 -592 99 -1710 65 -360 65 -1084 165 -2152 99 -230 65 -1356 795 -332 65 -794 361 -66 131 -198 133 -6002 327 -1620 65 -230 99 -988 97 -1024 65 -6432 65 -428 65 -724 99 -196 67 -826 133 -8360 229 -100 131 -100 97 -68 97 -8100 65 -166 131 -264 297 -690 131 -7048 131 -298 231 -164 97 -100 99 -930 165 -7256 165 -1292 67 -7074 65 -100 229 -1386 131 -460 65 -924 97 -228 129 -1086 163 -132 65 -628 65 -1416 163 -328 63 -166 131 -824 99 -534 65 -232 67 -1192 99 -166 497 -764 65 -398 165 -598 99 -700 97 -200 65 -562 65 -1712 65 -1590 65 -898 65 -466 131 -98 99 -462 199 -100 197 -1846 231 -100 65 -7350 131 -432 99 -8490 65 -596 99 -7578 99 -166 133 -6610 131 -1552 97 -960 131 -3216 97 -7258 129 -6424 67 -166 131 -924 99 -560 65 -7228 63 -622 67 -6070 131 -1318 265 -1724 97 -1854 199 -3034 133 -66 67 -396 99 -366 99 -1200 99 -298 131 -7700 65 -632 65 -1960 65 -166 99 -100

RAW_Data: 133 -2362 65 -432 65 -874 65 -1030 99 -232 199 -400 131 -398 99 -100 165 -898 129 -100 99 -364 99 -896 163 -1296 165 -1256 97 -230 131 -132 195 -526 97 -166 229 -530 65 -628 67 -2024 131 -832 131 -960 99 -360 131 -1994 67 -462 99 -264 131 -634 267 -236 99 -434 1003 -102 443 -342 199 -376 233 -1138 67 -662 99 -1324 99 -566 65 -1758 65 -2238 131 -266 99 -1430 199 -1458 165 -1496 199 -564 65 -1166 67 -730 131 -1624 131 -68 427 -3426 547 -64 485 -354 259 -288 261 -5534 165 -1646 163 -1060 457 -722 95 -2016 65 -266 99 -1630 133 -398 65 -68 229 -400 97 -798 231 -462 129 -860 331 -928 65 -234 331 -664 99 -266 133 -132 133 -66 231 -1528 65 -3272 163 -258 885 -94 485 -358 191 -352 259 -822 65 -1618 163 -1872 393 -1390 65 -398 97 -264 133 -66 365 -500 133 -230 99 -696 65 -556 97 -532 99 -1958 133 -832 133 -100 131 -334 165 -98 99 -896 65 -266 131 -66 197 -992 97 -100 65 -1386 131 -100 131 -68 65 -1490 131 -2290 131 -664 133 -894 97 -232 97 -262 197 -804 1755 -360 233 -302 301 -2634 99 -330 65 -1056 99 -1546 131 -1950 65 -630 133 -100 97 -1158 99 -564 97 -228 97 -492 99 -562 165 -1514 131 -2400 65 -100 165 -1064 65 -762 65 -664 131 -4908 163 -4254 63 -2420 97 -1660 65 -724 131 -1190 99 -230 65 -7162 65 -502 165 -10510 265 -4718 99 -6776 65 -166 97 -7822 97 -954 65 -988 97 -7596 65 -898 99 -9448 131 -6690 67 -728 65 -5918 65 -100 99 -826 67 -530 167 -632 65 -564 165 -632 65 -334 495 -496 165 -1092 129 -5966 99 -100 65 -298 63 -462 65 -230 229 -862 97 -266 165 -1424 99 -462 97 -1416 163 -7270 131 -1492 65 -400 449 -392 389 -386 385 -412 385 -412 387 -372 391 -400 393 -396 393 -396 395 -392 397 -392 397 -392 367 -3920 811 -386 375 -786 393 -788 421 -748 807 -382 419 -780 775 -384 417 -778 379 -784 813 -378 395 -788 399 -754 821 -384 377 -804 381 -786 395 -788 797 -362 417 -760 413 -790 783 -378 803 -388 803 -376 805 -356 799 -406 799 -378 805 -378 393 -788 403 -758 799 -396 395 -790 367 -782 431 -752 419 -782 381 -776 419 -782 385 -774 807 -404 365 -784 793 -394 787 -416 375 -810 383 -768 805 -382 811 -388 779 -386 409 -772 809 -380 809 -384 801 -350 807 -416 769 -384 805 -380 803 -386 803 -378 803 -386 803 -378 801 -356 799 -410 787 -396 789 -402 791 -384 793 -386 787 -388 385 -806 773 -408 789 -15646 419 -406 357 -402 391 -398 393 -398 393 -396

RAW_Data: 393 -396 395 -394 365 -420 379 -400 395 -394 395 -394 365 -3926 813 -384 385 -786 383 -784 421 -780 777 -386 411 -778 803 -382 383 -778 409 -782 779 -408 381 -798 387 -784 787 -382 391 -796 403 -756 409 -794 795 -364 417 -758 417 -788 785 -380 783 -392 795 -408 787 -386 781 -386 817 -384 769 -384 415 -780 383 -810 777 -402 377 -794 405 -756 407 -796 401 -784 387 -882 131 -170100 131 -5256 65 -1558 163 -830 99 -1458 67 -1124 97 -2636 99 -230 599 -266 131 -332 65 -66 97 -564 99 -266 197 -398 65 -5520 99 -330 99 -596 165 -132 65 -562 65 -4238 131 -7778 65 -17072 65 -1610 197 -7094 199 -604 65 -958 65 -8388 97 -788 97 -132 97 -7972 65 -298 99 -1196 67 -298 133 -5948 65 -8300 65 -462 97 -196 63 -6040 99 -332 99 -568 99 -100 99 -798 65 -1824 131 -98 65 -164 97 -1516 165 -994 65 -100 265 -762 131 -266 65 -7262 131 -7602 65 -366 131 -1458 99 -98 65 -2452 65 -7328 65 -920 197 -8058 65 -166 65 -398 133 -7352 97 -6764 131 -2342 299 -9228 131 -6542 99 -1100 99 -1128 131 -2288 99 -960 99 -692 163 -66 133 -200 165 -268 65 -200 67 -266 63 -724 295 -232 65 -296 97 -100 65 -362 63 -1056 99 -66 65 -4588 165 -294 65 -1480 261 -956 99 -1150 131 -1258 133 -7592 65 -996 131 -1224 133 -9278 99 -262 65 -1492 165 -7028 65 -1130 65 -16706 99 -230 65 -1064 131 -18244 99 -894 65 -690 97 -296 295 -266 131 -7232 165 -66 99 -864 99 -532 331 -1624 99 -300 99 -2382 131 -6634 131 -1612 165 -6460 67 -528 131 -428 97 -7794 97 -828 65 -8778 131 -3686 67 -6326 99 -200 65 -800 65 -66 131 -7214 65 -4512 67 -666 131 -234 97 -200 99 -200 97 -1398 65 -268 65 -266 101 -1258 97 -856 65 -1058 633 -230 97 -962 99 -298 131 -266 135 -134 131 -3552 99 -2250 331 -198 229 -98 65 -526 129 -66 65 -298 129 -66 97 -1586 131 -7258 65 -232 97 -266 99 -394 131 -198 99 -6434 65 -234 99 -1194 97 -2312 97 -7224 65 -1030 131 -1066 65 -8406 67 -430 99 -298 99 -7508 165 -1654 65 -2784 475 -384 411 -358 401 -392 399 -392 397 -396 393 -366 423 -366 423 -380 399 -384 389 -418 351 -414 385 -3918 789 -394 417 -754 809 -386 375 -788 393 -786 419 -782 773 -384 785 -418 781 -386 805 -380 785 -378 805 -390 383 -788 779 -418 373 -786 789 -392 407 -794 363 -786 789 -416 377 -804 379 -786 785 -382 391 -784 419 -780 777 -386 807 -380 785 -416 359 -808 785 -382 415 -772 785 -392 417 -752 385 -818 387 -780

RAW_Data: 385 -804 379 -786 785 -418 359 -818 783 -380 787 -406 381 -798 375 -788 791 -396 787 -420 779 -382 417 -780 777 -384 783 -418 781 -386 805 -378 801 -388 801 -376 803 -388 769 -408 803 -358 799 -410 785 -386 785 -384 819 -384 781 -386 411 -782 775 -386 811 -380 781 -392 799 -406 785 -15652 433 -354 419 -398 385 -388 385 -386 413 -388 409 -358 403 -394 399 -396 395 -396 393 -398 393 -366 423 -3902 811 -384 377 -772 807 -402 377 -794 401 -766 409 -770 801 -400 767 -394 793 -402 803 -358 795 -404 803 -358 399 -802 771 -384 411 -770 805 -384 413 -772 383 -808 783 -380 391 -796 403 -754 821 -384 375 -806 377 -800 773 -384 805 -164290 99 -1094 99 -496 65 -166 233 -564 65 -1678 65 -1580 97 -1228 97 -1624 67 -3186 97 -134 99 -762 99 -464 131 -200 99 -266 133 -892 195 -1688 67 -1258 65 -2964 295 -596 99 -68 265 -828 99 -196 199 -8078 65 -624 97 -1218 133 -6906 67 -432 197 -7284 65 -300 65 -530 99 -432 97 -598 131 -7742 99 -200 95 -726 99 -6766 97 -328 65 -956 131 -888 65 -4274 133 -1030 65 -7046 65 -1586 97 -234 99 -4626 97 -262 131 -2556 97 -468 99 -166 99 -132 99 -166 131 -766 99 -132 67 -366 65 -400 99 -894 99 -332 99 -366 65 -866 97 -300 65 -166 65 -234 65 -1154 131 -300 131 -332 131 -2268 65 -2242 65 -362 165 -754 65 -234 99 -132 65 -730 97 -496 99 -528 97 -3980 65 -1546 161 -298 199 -232 65 -66 65 -164 131 -3784 65 -7202 65 -430 65 -630 97 -426 163 -164 99 -6884 129 -888 65 -98 65 -822 99 -396 99 -7358 133 -566 67 -532 65 -164 199 -762 99 -7240 97 -166 65 -528 65 -166 231 -6930 99 -1332 197 -6784 131 -496 65 -664 99 -466 67 -2126 65 -400 65 -890 65 -6840 97 -232 163 -196 197 -566 133 -6144 99 -2694 65 -994 131 -632 65 -200 99 -930 99 -132 65 -3812 165 -332 99 -232 65 -498 133 -562 67 -3008 67 -1496 133 -398 99 -332 133 -432 133 -798 133 -100 131 -234 131 -7022 99 -330 65 -200 165 -7284 163 -7262 131 -526 165 -1528 99 -166 131 -5754 67 -6646 67 -464 65 -1390 97 -6438 99 -166 101 -570 65 -566 99 -200 165 -100 131 -268 65 -7496 65 -164 165 -7846 65 -464 131 -262 99 -6960 65 -166 99 -830 99 -266 67 -4842 131 -1084 65 -658 65 -1192 65 -1758 99 -562 97 -196 97 -392 65 -100 131 -1448 65 -494 65 -492 97 -98 97 -2952 199 -328 165 -66 133 -166 67 -566 65 -332 65 -434 297 -930 67 -398 65 -166 131 -6428 67 -1294

RAW_Data: 129 -892 65 -196 131 -428 165 -264 131 -1642 99 -98 265 -764 99 -130 65 -200 199 -198 99 -866 99 -66 131 -66 133 -962 99 -564 65 -1724 99 -398 303 -402 99 -264 1247 -102 273 -234 229 -302 339 -166 65 -166 99 -600 131 -4018 131 -3708 65 -132 67 -198 101 -166 67 -66 167 -100 99 -434 65 -1428 67 -898 131 -130 133 -762 99 -2254 197 -1624 65 -566 65 -1488 97 -728 65 -1940 787 -96 997 -262 231 -318 259 -98 161 -96 131 -164 131 -66 65 -1386 97 -98 131 -1184 97 -1506 99 -698 67 -2454 99 -402 65 -2274 99 -594 65 -262 97 -460 65 -164 97 -2020 131 -2400 97 -132 65 -1358 65 -1000 65 -1418 101 -2990 65 -868 201 -232 261 -342 267 -310 267 -5516 197 -724 65 -624 65 -822 97 -298 65 -1810 231 -1156 99 -66 133 -2550 165 -368 99 -896 133 -732 297 -2420 165 -6490 131 -98 99 -856 65 -2284 99 -100 65 -266 229 -462 131 -1316 97 -2208 97 -1256 199 -68 1177 -286 299 -310 261 -1570 163 -132 97 -1580 163 -660 65 -166 131 -2978 67 -464 197 -1594 99 -100 97 -1564 165 -430 461 -1824 133 -2384 99 -3316 97 -202 99 -668 99 -2376 65 -2860 65 -66 131 -3634 133 -7682 265 -1196 165 -6642 163 -1230 131 -436 97 -730 65 -366 65 -68 131 -1120 97 -5928 97 -366 99 -332 133 -232 101 -98 65 -958 133 -8274 165 -9666 99 -7184 65 -1092 97 -18810 65 -10004 99 -8144 99 -1392 99 -9468 65 -490 65 -1616 65 -790 133 -1590 65 -1020 131 -134 133 -100 65 -760 97 -100 65 -5072 65 -662 97 -1458 231 -66 99 -1578 99 -396 129 -760 133 -6964 99 -828 131 -6882 97 -1030 133 -734 99 -7682 101 -864 67 -1292 99 -364 65 -3214 97 -132 131 -6014 63 -490 195 -130 161 -656 99 -130 165 -4812 97 -460 99 -1732 65 -1020 99 -822 65 -164 65 -2884 495 -394 379 -396 379 -402 393 -398 393 -396 395 -394 395 -394 379 -402 377 -388 409 -398 395 -390 377 -3932 387 -788 779 -386 391 -796 407 -790 793 -382 395 -776 787 -382 391 -794 799 -366 409 -790 795 -366 801 -394 791 -404 367 -782 395 -786 811 -388 387 -772 805 -368 793 -418 393 -776 387 -778 411 -780 381 -782 409 -772 801 -368 821 -388 781 -382 419 -778 381 -782 417 -748 389 -800 799 -402 367 -780 431 -752 421 -782 379 -784 813 -378 377 -798 799 -366 799 -392 399 -800 379 -804 773 -404 803 -358 795 -404 379 -796 799 -402 793 -382 793 -386 801 -382 791 -386 801 -382 797 -386 801 -382 793 -386 787 -388 813 -350 815 -382 815 -358 797 -410 789 -366 423 -754

RAW_Data: 823 -388 781 -382 785 -420 783 -15674 389 -390 391 -386 417 -384 385 -410 387 -374 391 -402 391 -398 393 -396 393 -396 395 -394 381 -404 383 -3924 385 -774 807 -404 381 -798 385 -774 789 -418 357 -796 801 -398 377 -794 797 -364 417 -760 811 -388 801 -384 793 -384 375 -786 395 -786 809 -388 387 -772 807 -404 791 -384 395 -756 421 -782 383 -770 411 -784 377 -800 799 -366 819 -384 771 -384 419 -782 381 -786 419 -780 387 -772 803 -368 407 -792 405 -786 387 -782 381 -786 817 -376 379 -796 799 -400 767 -392 399 -784 413 -776 787 -390 801 -366 819 -402 381 -167864 131 -234 133 -100 197 -8522 65 -4026 97 -5376 97 -66 131 -370 99 -990 65 -594 165 -5602 65 -434 99 -264 133 -364 65 -198 129 -130 129 -194 129 -100 131 -1826 97 -166 67 -166 101 -332 65 -100 65 -164 97 -100 63 -1590 129 -360 65 -362 229 -692 99 -762 65 -362 265 -1128 65 -3168 99 -196 99 -428 129 -2606 131 -890 97 -492 97 -394 65 -132 195 -856 131 -1150 65 -756 65 -1084 131 -328 65 -764 691 -328 97 -296 129 -3134 129 -7964 99 -264 99 -468 165 -232 99 -7694 65 -458 165 -892 165 -230 197 -132 65 -7496 65 -1346 131 -196 99 -98 133 -1454 129 -100 97 -3526 97 -7216 67 -1350 97 -132 65 -986 99 -1190 99 -556 131 -1054 229 -758 99 -7086 99 -1092 67 -666 65 -7002 165 -232 99 -894 165 -166 67 -600 65 -300 65 -1758 131 -564 165 -198 131 -2424 97 -762 367 -200 163 -168 99 -632 97 -664 165 -266 99 -1062 165 -100 99 -4262 97 -1030 165 -332 99 -466 163 -302 429 -922 65 -1258 97 -6320 65 -298 67 -7784 163 -758 65 -230 65 -164 97 -98 97 -7784 65 -466 65 -8228 133 -6736 233 -68 165 -264 63 -7642 99 -130 131 -98 67 -7152 99 -496 67 -666 97 -7266 295 -1316 97 -460 97 -8602 67 -1658 65 -2474 63 -460 99 -556 65 -530 65 -1672 65 -1170 65 -4712 131 -564 97 -1978 199 -398 99 -3800 67 -7802 131 -464 65 -498 67 -7502 99 -2144 97 -7476 65 -462 131 -1756 99 -6568 65 -362 99 -164 63 -924 129 -626 131 -7596 65 -1130 99 -198 99 -7958 99 -6876 131 -600 133 -1194 97 -4944 97 -1064 97 -794 65 -532 263 -132 131 -168 67 -468 99 -1162 65 -628 99 -1396 65 -2344 131 -1480 97 -652 165 -1228 129 -100 65 -360 195 -332 365 -1590 97 -4540 65 -732 97 -1324 165 -6968 99 -664 131 -564 131 -2692 101 -7196 197 -630 65 -432 131 -598 65 -298 65 -7034 99 -234 199 -6922 131 -688 65 -392 163 -100 63 -264 65 -7958 131 -490

RAW_Data: 65 -296 65 -660 165 -264 97 -690 99 -988 97 -362 65 -396 97 -264 163 -202 65 -432 65 -200 99 -298 163 -794 67 -530 131 -864 63 -1624 97 -294 65 -100 65 -230 195 -992 97 -200 65 -664 65 -834 165 -1058 131 -502 99 -1026 337 -774 977 -438 235 -304 227 -586 65 -262 131 -2152 165 -962 67 -2856 131 -1842 235 -134 165 -66 167 -1426 165 -900 65 -366 99 -1362 65 -1392 165 -930 65 -2044 195 -1442 65 -756 65 -1616 193 -3048 99 -964 133 -334 233 -366 265 -338 235 -1066 133 -2252 65 -2510 65 -332 65 -2988 165 -2150 99 -828 97 -2500 97 -164 197 -3796 195 -1250 99 -1806 97 -66 233 -68 887 -102 239 -336 263 -326 303 -1496 65 -398 67 -3248 95 -3238 97 -2414 65 -2136 97 -2852 65 -396 65 -1746 65 -3786 163 -1714 619 -288 259 -316 229 -1106 131 -2318 65 -626 65 -1278 63 -296 67 -1936 99 -3004 99 -66 97 -166 65 -788 65 -8262 65 -9850 131 -392 295 -232 131 -632 131 -432 199 -7740 513 -348 411 -378 409 -380 409 -378 409 -378 407 -380 407 -378 407 -378 407 -378 407 -380 407 -378 407 -3914 789 -368 813 -364 821 -384 375 -776 813 -378 801 -388 407 -782 779 -386 411 -782 781 -388 803 -378 785 -396 789 -400 377 -792 403 -758 799 -394 791 -400 377 -794 403 -754 421 -780 381 -784 811 -378 395 -788 401 -758 409 -788 793 -362 799 -396 395 -786 803 -358 797 -406 789 -366 817 -366 417 -792 383 -790 387 -782 383 -810 775 -404 377 -796 797 -366 799 -392 401 -782 409 -772 803 -400 793 -382 793 -384 385 -786 809 -384 801 -384 791 -384 803 -382 793 -386 801 -382 793 -386 801 -384 793 -386 801 -384 793 -386 801 -384 795 -386 801 -368 813 -364 821 -390 383 -784 779 -404 769 -394 793 -15660 425 -356 441 -360 399 -394 397 -394 397 -394 395 -396 393 -366 423 -380 399 -386 389 -416 353 -414 385 -3920 787 -392 801 -366 819 -402 383 -762 811 -386 801 -368 419 -754 821 -388 385 -774 801 -400 769 -396 793 -404 789 -382 399 -772 421 -744 807 -382 785 -422 385 -770 407 -788 377 -792 403 -756 803 -394 395 -790 381 -800 383 -790 785 -382 813 -356 439 -748 817 -358 797 -408 787 -378 807 -386 385 -784 415 -776 387 -778 409 -782 779 -408 417 -766 783 -390 801 -366 423 -786 387 -784 777 -384 819 -388 779 -386 413 -780 777 -386 809 -382 815 -358 797 -410 783 -380 805 -388 801 -382 803 -384 787 -388 779 -384 809 -382 815 -356 801 -410 787 -366 819 -366 823 -382 375 -808 779 -380 803 -386 409 -16046 405 -400

RAW_Data: 417 -370 375 -390 409 -398 379 -406 375 -390 409 -398 379 -406 383 -390 419 -354 413 -388 409 -3926 785 -388 781 -384 783 -416 377 -804 775 -406 783 -386 387 -776 813 -380 381 -177954 97 -3722 65 -930 131 -7266 99 -8442 63 -198 97 -294 65 -2478 97 -296 129 -198 195 -428 97 -988 65 -394 99 -130 97 -526 163 -728 99 -1028 131 -698 99 -456 99 -734 65 -5912 131 -7776 131 -132 99 -17178 67 -7556 131 -1260 165 -8660 99 -498 99 -7522 99 -888 133 -360 63 -7646 165 -332 99 -266 65 -6808 65 -796 65 -1724 65 -560 65 -166 65 -694 97 -7090 97 -98 131 -728 97 -864 67 -398 99 -266 99 -468 99 -828 65 -432 97 -400 99 -366 99 -670 99 -564 99 -336 65 -924 99 -366 131 -200 65 -166 65 -1558 133 -100 65 -166 199 -270 131 -166 99 -564 65 -366 163 -404 231 -398 131 -98 65 -1294 133 -526 99 -696 331 -960 199 -300 67 -7148 97 -426 65 -532 99 -6864 131 -992 65 -100 131 -6738 131 -266 133 -1794 67 -7610 195 -1788 65 -5164 65 -134 65 -1924 65 -7190 99 -1556 133 -264 65 -7190 131 -198 131 -328 97 -364 65 -300 99 -98 99 -132 133 -3920 97 -200 65 -98 131 -330 65 -366 165 -262 99 -592 131 -100 133 -236 65 -2632 133 -66 99 -132 129 -198 99 -426 65 -688 99 -394 65 -362 65 -1914 131 -6644 65 -896 67 -1194 97 -7532 65 -232 65 -200 133 -930 65 -366 165 -8076 65 -7956 97 -1634 65 -596 99 -7100 99 -530 65 -6766 97 -1458 65 -398 65 -6736 199 -762 65 -988 99 -658 97 -6218 65 -266 67 -2642 133 -264 65 -200 133 -68 99 -332 101 -1588 65 -2312 265 -198 161 -596 131 -630 133 -198 167 -132 267 -596 67 -6472 65 -230 131 -98 65 -132 99 -956 65 -360 131 -6716 131 -132 165 -7828 131 -132 133 -632 133 -8132 65 -558 197 -7112 165 -6514 131 -264 129 -164 97 -788 163 -7184 97 -952 97 -196 229 -328 197 -7518 99 -464 131 -500 133 -502 97 -732 99 -230 99 -168 99 -202 65 -300 97 -7064 99 -1580 97 -2804 133 -762 65 -328 97 -1808 65 -2476 65 -630 65 -368 65 -892 129 -560 97 -1246 97 -196 131 -64 65 -296 133 -198 97 -132 161 -1414 65 -66 99 -532 131 -5988 133 -266 133 -2160 163 -6826 67 -200 65 -762 67 -568 65 -764 67 -3048 67 -1498 449 -390 391 -420 355 -414 385 -408 387 -408 357 -400 393 -398 393 -396 395 -394 395 -394 365 -420 379 -3906 417 -790 387 -780 385 -776 805 -404 791 -382 793 -386 385 -784 383 -786 419 -780 385 -772 801 -402 367 -780 395 -788

RAW_Data: 811 -388 387 -772 801 -402 367 -782 789 -394 407 -790 795 -364 405 -776 787 -392 797 -386 389 -786 417 -782 387 -772 407 -756 793 -420 393 -756 815 -380 393 -790 797 -362 403 -780 393 -802 395 -790 401 -754 809 -384 377 -810 775 -406 803 -358 399 -806 387 -772 803 -400 769 -394 791 -408 395 -786 793 -364 801 -396 789 -404 789 -382 797 -386 801 -382 791 -386 801 -382 793 -386 801 -384 793 -386 785 -388 813 -350 809 -418 779 -356 803 -408 787 -366 423 -792 791 -384 793 -15646 413 -374 399 -412 371 -412 373 -410 405 -378 405 -380 405 -378 407 -378 405 -380 407 -380 405 -380 407 -3914 367 -782 431 -754 419 -780 775 -382 809 -388 781 -384 411 -782 385 -772 411 -784 377 -798 797 -366 403 -780 395 -788 785 -420 357 -798 801 -400 367 -782 789 -394 407 -776 785 -392 407 -776 785 -392 801 -366 423 -756 409 -796 401 -754 419 -782 775 -384 419 -780 775 -384 419 -780 775 -17860 425 -354 415 -388 409 -358 403 -392 399 -396 395 -396 393 -368 421 -380 367 -172230 65 -498 65 -330 65 -1182 63 -200 97 -954 97 -294 63 -262 65 -3392 99 -166 65 -200 99 -430 99 -328 65 -460 97 -456 165 -8018 67 -1128 99 -7064 133 -2416 65 -7588 97 -428 65 -8220 65 -1484 97 -6402 133 -232 97 -458 67 -494 131 -18742 131 -14266 63 -166 67 -1810 99 -3564 99 -1088 65 -362 131 -262 97 -392 99 -362 131 -468 133 -362 99 -432 67 -1960 65 -4678 65 -328 295 -730 65 -328 99 -66 131 -300 165 -364 99 -460 131 -8850 67 -7502 65 -8086 65 -696 99 -2982 99 -3746 65 -8900 65 -6394 99 -332 97 -264 99 -570 65 -366 97 -266 133 -266 97 -1162 65 -1030 65 -198 97 -764 99 -1130 133 -766 65 -300 65 -564 99 -624 97 -134 99 -302 101 -600 65 -100 165 -336 65 -168 99 -4874 65 -626 65 -2996 99 -1972 65 -2178 65 -2252 163 -66 229 -1290 97 -230 131 -98 99 -860 67 -364 131 -6954 99 -328 131 -952 129 -8046 65 -570 65 -8402 131 -6968 131 -998 65 -664 131 -402 131 -292 99 -7314 99 -730 97 -15650 131 -8092 131 -498 99 -664 99 -1556 101 -200 99 -332 65 -4838 99 -232 101 -334 65 -166 99 -232 67 -198 65 -132 99 -166 65 -364 97 -694 65 -166 165 -6550 165 -298 65 -1022 165 -560 99 -1058 65 -798 99 -500 99 -8314 65 -7952 97 -6884 131 -6788 65 -296 65 -196 99 -526 65 -7990 99 -166 65 -7224 97 -296 131 -6828 65 -8124 99 -166 65 -1360 65 -6966 65 -1132 99 -1158 65 -4564 65 -100 99 -498 165 -1528 65 -396

RAW_Data: 133 -1390 99 -626 65 -3084 67 -464 65 -2942 97 -2634 97 -334 231 -828 941 -68 471 -392 199 -360 257 -462 65 -196 99 -1694 65 -692 97 -470 99 -1316 165 -1566 67 -628 65 -4506 133 -132 65 -2466 267 -96 451 -294 295 -296 233 -2254 131 -1262 99 -1232 65 -1326 65 -2546 133 -1320 65 -556 65 -1810 65 -3716 199 -200 65 -1326 129 -530 99 -1760 199 -100 509 -104 271 -102 465 -310 197 -378 233 -2690 97 -3352 99 -1992 97 -132 133 -8832 131 -260 195 -854 97 -722 101 -4198 65 -3086 809 -104 203 -200 403 -390 195 -356 229 -3246 65 -2038 65 -168 131 -68 65 -66 99 -3168 511 -350 419 -386 385 -386 413 -354 439 -358 401 -392 397 -394 395 -366 423 -366 423 -366 421 -384 397 -3900 803 -402 381 -792 385 -786 783 -380 783 -392 399 -784 785 -418 359 -786 815 -376 805 -358 799 -406 379 -796 405 -784 789 -386 387 -772 803 -398 377 -796 401 -752 785 -420 779 -386 805 -378 395 -790 767 -396 415 -758 811 -386 375 -786 789 -394 407 -792 363 -786 419 -780 775 -386 417 -778 383 -780 419 -782 387 -772 405 -772 815 -358 403 -784 817 -356 799 -406 395 -790 399 -784 775 -386 811 -382 779 -416 357 -798 801 -400 769 -396 791 -402 769 -394 795 -404 789 -380 797 -388 803 -380 793 -388 787 -386 813 -382 779 -416 783 -388 767 -408 395 -788 761 -396 797 -416 755 -418 773 -418 779 -15674 399 -376 397 -396 393 -366 423 -380 401 -386 389 -418 353 -412 385 -410 387 -408 357 -400 393 -398 393 -3902 813 -386 407 -756 393 -788 809 -390 779 -386 411 -782 777 -384 413 -776 803 -382 783 -382 815 -358 401 -782 391 -796 801 -366 415 -762 811 -386 375 -788 395 -788 811 -388 781 -386 805 -380 393 -790 797 -366 407 -790 795 -362 409 -790 795 -364 419 -756 417 -788 387 -914 131 -168034 97 -1778 65 -1594 65 -360 97 -132 63 -958 99 -1792 65 -3052 65 -3686 131 -230 129 -626 65 -590 163 -558 129 -230 163 -2686 131 -2154 131 -666 131 -300 131 -332 65 -266 331 -9050 65 -8976 65 -7090 65 -866 133 -7218 131 -2364 65 -6762 65 -462 129 -98 65 -1320 97 -560 99 -198 65 -8372 65 -98 131 -6680 131 -366 67 -298 67 -728 65 -1484 97 -7488 65 -492 97 -6788 65 -726 99 -1458 65 -8538 131 -6614 133 -7840 65 -634 65 -792 165 -566 65 -6968 99 -7156 65 -134 65 -498 99 -8046 65 -132 67 -9838 65 -4256 133 -366 163 -1120 197 -1388 131 -164 63 -232 65 -268 65 -6582 229 -264 65 -592 63 -5960 131 -26898 163 -2552 97 -8470 65 -4434 65 -2154

RAW_Data: 65 -758 65 -164 131 -916 97 -526 99 -1198 99 -530 99 -1558 97 -462 97 -690 97 -592 131 -262 65 -526 97 -428 131 -560 65 -8624 165 -268 197 -730 65 -830 131 -1690 99 -3974 97 -264 129 -2398 65 -262 65 -132 65 -166 65 -1054 133 -264 131 -426 97 -330 97 -1156 65 -1060 165 -408 99 -400 231 -102 463 -298 301 -308 335 -336 65 -2640 97 -3198 65 -1896 65 -986 131 -294 65 -790 65 -564 65 -6020 1191 -166 409 -304 273 -296 267 -3352 133 -1296 67 -2380 133 -4420 99 -2790 165 -9768 265 -68 203 -134 269 -102 201 -404 235 -312 267 -2380 131 -1300 65 -2090 65 -6924 99 -3000 67 -328 97 -2836 63 -492 99 -3828 99 -2358 129 -7598 299 -102 199 -344 199 -382 231 -812 97 -394 99 -560 63 -4266 99 -3918 67 -2652 99 -1522 65 -8912 65 -7682 163 -922 131 -918 97 -18166 65 -2124 65 -18872 65 -9588 163 -18386 99 -7542 65 -1394 99 -698 65 -1096 99 -764 131 -1826 65 -234 101 -232 99 -334 63 -234 133 -164 131 -162 131 -228 65 -132 99 -832 165 -4576 165 -2184 133 -370 133 -898 131 -596 99 -396 65 -266 65 -8060 99 -9674 97 -6732 65 -1650 163 -7090 65 -596 97 -232 163 -1020 163 -4186 97 -7016 63 -368 65 -990 97 -624 67 -2966 65 -360 65 -634 99 -466 131 -560 99 -5918 99 -198 65 -200 99 -1126 65 -298 99 -464 67 -430 65 -598 65 -854 133 -1028 99 -2852 163 -168 129 -1716 99 -1952 99 -8248 67 -496 65 -166 165 -1226 131 -460 131 -7976 97 -7108 65 -1588 99 -458 99 -4280 65 -2584 63 -730


​
👍31 🔥6 😁7 💯4
остается только рассказать как это можно применить
Ответlisa99

остается только рассказать как это можно применить

Все зависит от того что ты поймаешь и что там найдешь, я URH использую если в раве поймаю какой-то незнакомый формат
можно детальней?

на хсс в свое время речь шла о перехвате смс, например
👍1
Ответlisa99

можно детальней? на хсс в свое время речь шла о перехвате смс, например

Перехват sms это уже замашка на GSM сети, а там только один LimeSDR стоит сотку рублей. Плюс уже все современные мобилы перестали вылазить в 2G сети. На Хабре была статья о подмене вышки сотовой связи в метро. Плюс в сетях 3G появилась взаимная аутентификация - телефон и вышка доказывали свою реальность с помощью криптографии. Атаки по типу downgrade не работают в большинстве случаев - писал выше. Так что если кто-то хочет перехватить смс - пускай занимается сим свапом, ну или телефон жертвы ратит :). Если смотреть трезво, то единственный способ перехватить смс - сим-свап, если телефон на андройде - можно заратить, но в первом случае жертва потеряет связь и сразу все заметит, во втором случае еще надо заставить чувака скачать билд, установить, запустить
👍5 ❤️1
Ответadrenaline

Плюс уже все современные мобилы перестали вылазить в 2G сети

в настройках своео (с 5g) засекла такую опцию включенную. убрала.
хз зачем она.

и 2g есть на кнопочных
👍1
Ответlisa99

остается только рассказать как это можно применить

Ну и насчет где можно применить - статья изначально была нацелена на шлагбаумы (меня на это подтолкнуло наше соприкосновение с киберганстером, отсылка в баннере имеется ;) ), но я посчитал идею довольно простой и больше «проходной», оставив вектор размышлений в конце для всех желающих. Поэтому статья вышла по реверсу с практикой и дампом, дабы зеленые ребята не расстраивались из-за невозможности потыкать в бинарку и сигналы, сам расстраиваюсь когда читаю мануал по чему-то, а потыкать нету ничего :(. Плюс еще учитывая мой прошлый опыт с статьями по реверсу и отклику модератора решил сделать все в таком формате, как раз условия по выплате закрывает. Думаю продолжу уже цикл по аппаратке и реверсу, стоит привести все к логическому заключению чтоль… Хотя каждый день чет новое появляется, еще учиться и учиться нам всем
👍1
Ответlisa99

в настройках своео (с 5g) засекла такую опцию включенную. убрала. хз зачем она. и 2g есть на кнопочных

В Америке уже GSM вроде как положили, на кнопках теперь в сеть не выйти. Пиксели с айфонами вроде по умолчанию в 2G не выходят, за остальных хз. Да и перехват смс уже скоро сойдет на нет, будем двухфакторку из приложения банка по биометрии получать
👍3
Для всех желающих - если будет отклик и реакции, то отправлюсь в экспедицию по городу и половлю разные сигналы, залью дамп на LIMB и разберу, скорее всего в этом треде
👍3
Добавлю так, время на редактирование кончилось :(

А зачем вы это реверсим?
Потенциал реверса радио огромный. Как минимум вы можете узнать тип системы, а если система посылает про subghz информацию - сможете разобрать пакет и модифицировать его. (если возникнут вопросы - милости прошу в лс, помогу :) ). Цель реверса радио ровно такая же как у реверса программ - либо обойти ограничения, либо скармливать свои данные получателю.

Какие виды атак есть?
- Самый известная атака на rolling-code, которой пользуются угонщики авто - захват и глушение. Нужную частоту заглушают рядом с приемником, тем самым ослепляя его. Код-граббер находясь ближе к условному брелку/пульту меньше реагирует на заглушение (просто установив порог шума, тем самым отделяя сигналы слабее XX dbi), при нажатии успешно перехватывает код, глушение прекращается, а владелец авто нажимая кнопку еще раз, списывает неудачу на случайность. Вуаля! Авто закрыто, владелец спокоен и ничего не подозревает, а у нас есть валидный дамп. Из минусов: атака не работает, если в формуле (вспоминаем что я писал выше) есть счетчик нажатий, т.к приемник не примет сигнал, если он был два нажатия назад.
 
​
  • Перехват эфира, мы рассматривали выше. Код-граббер просто записывает радиосигналы, а мы ручками через URH реверсим сигнал. Самый примитивный вид атаки, срабатывает на статическом коде​
  • Брутфорс. Если мы говорим про статику, то затронем и шлагбаумы :). Шлагбаумы обладают длиной ключа либо 12 бит, либо 24. Посколько код статический и никак не видоизменяется, то мы можем просто посылать пакеты с рандомным ключом 12/24 бит длины. 12 битные ключи можно в среднем перебрать за 5 минут. Также есть замечательная последовательность Де Брюйна, она позволяет посылать все биты сплошянком, от чего приемник захватывает только нужные ему, поскольку все биты проходят черег сдвиговый регистр, где все ненужное - игнорируется​
  • Атаки на саму систему. Бывает так, что заводские ключи, которые играют самую важную роль в генерации ключа для rolling-code сливают наши любимые реверсеры, от чего любой может сгенерировать код. Все равно что выучить чужой язык, будешь понимать о чем говорят другие :).​



Чем это опасно?
В первую голову - угон авто. Вы не поверите сколько машин на наших дорогах подвержены таким атакам. Для СНГ эта причина мало подходит, но в США куча датчиков безопасности передают свой статус по subghz в открытом виде. Заглуши и получи доступ в дом условного Джона. На самом деле мест, где можно применить навык из статьи уйма, просто для каждого они свои. В РФ куча складов и логистических объектов сидят на статике, плюс и загородная недвижимость ровно также стоит на статике (если там вообще охрана управляется с помощью iButton - пиши пропало, его тоже можно забрутить), про возможность массой заставить сигналить меткам заказов умолчу, там тоже все висит на статике и отличается лишь номером метки (еще одна причина полезности реверса радио - модификация пакетов!). Масса систем безопасности работает на радио, так что исследуйте и пополняйте список эндпоинтов для атак :) 

А как защититься?
Самый простой способ защиты - использовать двухсторонние протоколы. Приемник шлет случайный пакет, передатчик подписывает его своим ключом и готово! Теперь даже захват с глушением не поможет, т.к случайный пакет актуален только в момент до приема его, но уже с ключами передатчика. Также я заметил что многие мои дампы сидят на KeeLoq, но вся суть его в том, что алгоритм его работы есть давно в интернете, даже библиотеки для ардуино могут его расшифровать. Поэтому стоит использовать стойкое шифрование по типу AES-256. Такое же шифрование используют на цифровых рациях, чтобы переговор нельзя было расшифровать. Ну и стоит сказать про уникальные ключи, схожий способ используется в гугловских сопроцессорах безопасности Titan M2, там ключ генерируется из-за сдвига атомов на этапе производства, что делает раскрытие алгоритма генерации невозможным.
​
👍1
Модим сигнал и отправляем его
Направив антену на соседний дом (до него чуть больше метров 60), я стал замечать что сыпятся пакеты с паузой в минуту. Сняв дамп с помощью связки ESP32 + CC1101 я закинул в URH и увидел следующую картинку:
Не удалось прогрузить медиа


Один пакет повторяется три раза. Загуглив, я узнал что таким страдают в основном метеодатчики, которые настраиваются с каким интервалом будут сыпать инфой о температуре. Рассмотрим саму бинарку:

10101010000100011110100001000010110010110001111001

Если вы посмотрите самое начало статьи, то увидите схему работы ИК. Грубо говоря там порядок такой - преамбула, адрес, код. В начале нашей бинарке есть 10101010, смело можно считать что это преамбула, т.к никаких значений там нет, видимо выступает знаком для станции что сигнал идет с датчика. Два нуля после будем считать за паузу, потому что выяснить их цель не удалось, да и роли они не играют. Теперь самое интересное: понять что делает остальная часть. Поскольку это животние было мне неизвестно, да и URH не очень горел желанием приводить это в человеку понятный вид, пришлось прошерстить репозитории по разным либам для метеодатчиков под ардуино. Разделив остаток по 8 битным блокам на 5 штук мы получим: 1 блок - несет штамп протокола (4 бита) и первую часть айдишника датчика (4 бита, видимо замах на большое количество датчиков). 2 блок - вторая часть айдишника (4 бита), знак температуры (0 - плюс, 1 - минус, 1 бит. Пару раз на дампах датчик выдавал какие-то неадекватные значения температуры после дождя), Часть температуры (3 бита). 3 блок - отдан полностью под температуру. 4 блок - полностью отдан под влажность, 5 блок - отдан под контрольную сумму. Теперь приступим к нашей шалости! Если просто задекодить наши 00100001011 в обычный текст, мы получим:
Не удалось прогрузить медиа


Но переведя это в HEX мы получим:
Не удалось прогрузить медиа


Переводим HEX в DEC (в десятичные числа) и получаем 267. Разделив на 10, получим 26,7 градусов цельсия, что с погрешностью сходится с реальной погодой за окном. Повторим такой же принцип действия с влажностью и получим 44 процента, тоже сходится. Давайте устроим на станции апокалипсис и сделаем все значения в максимум 99. Для этого повторяем схему выше наоборот, CRC считается легко и просто, берем наши первые 4 пакета, их переводим в HEX, получаем 47 A3 DE 63 и с помощью sunshine2k.de, выставляя следующие настройки получаем наше значение CRC
Не удалось прогрузить медиа


Переводим результат в бинарку, собираем строчку и получаем: 10101010 00 01000111 10100011 11011110 01100011 01010101. Чтобы эту штуку отослать я опять воспользуюсь ESP32 + cc1101. CC1101 подключается по схеме:
Медиа заблокировано
Этот домен не входит в список разрешённых для медиа.
Формат: изображения / GIFДомен: forum.LIMB.cc
Разрешённые домены
  • imgur.com
  • ru.imgbb.com
  • prnt.sc
  • imgbb.com
  • ibb.co
  • i.imgur.com
  • i.ibb.co
  • darklimb.vip
  • i.pinimg.com
  • img3.teletype.in
  • img4.teletype.in
  • teletype.in
  • pikabu.ru
  • cs15.pikabu.ru
  • img2.teletype.in
  • lh7-rt.googleusercontent.com
  • duty-files.cc
  • blogger.googleusercontent.com


VDD - 3.3V (5V убьют наш модуль)
GND - GND
SCK - G18
MISO - G19
MOSI - G23
CSN - G5
GDO0 - G2

Получаем вот такую штуку:
Не удалось прогрузить медиа


Прошиваем через Arduino IDE этот скетч:
Спойлер: Код
C++:
#include <ELECHOUSE_CC1101_SRC_DRV.h>
#define TX_PIN 2

const uint16_t BITS_TIME = 1000;
const uint8_t raw_bits[] = {
  1,0,1,0,1,0,1,0,
  0,0,
  0,1,0,0,0,1,1,1,
  1,0,1,0,0,0,1,1,
  1,1,0,1,1,1,1,0, // температура
  0,1,1,0,0,0,1,1, // влажность
  0,1,0,1,0,1,0,1  // наш crc
};
const uint16_t TOTAL_BITS = sizeof(raw_bits) / sizeof(raw_bits[0]);

void setup() {
  Serial.begin(115200);
  pinMode(TX_PIN, OUTPUT);
  digitalWrite(TX_PIN, LOW);
  ELECHOUSE_cc1101.setSpiPin(18, 19, 23, 5); // указываем пины нашего модуля
  ELECHOUSE_cc1101.Init();
  if (ELECHOUSE_cc1101.getCC1101()) {
    Serial.println("All good!");
  } else {
    Serial.println("Check cc1101 connect!");
  }
  ELECHOUSE_cc1101.setMHZ(433.92); // указываем частоту где будем передавать
  ELECHOUSE_cc1101.setModulation(2); // ставим нашу модуляцию ASK/OOK
  ELECHOUSE_cc1101.setPA(12);
  ELECHOUSE_cc1101.SetTx();
}

void loop() {
  for (int repeat = 0; repeat < 3; repeat++) {
    for (int i = 0; i < TOTAL_BITS; i++) {
      digitalWrite(TX_PIN, raw_bits[i] ? HIGH : LOW);
      delayMicroseconds(BITS_TIME);
    }
    digitalWrite(TX_PIN, LOW);
    delay(20);
  }

  Serial.println("Пакет ушел");
  delay(10000);
}

Открываем запускаем нашу машинку, открываем Serial-порт и наблюдаем как станция сходит с ума, а вы научились модифицировать пакеты и слать их с помощью ESP32 :)

Не удалось прогрузить медиа
​
👍1
Ответadrenaline

01001000

Ответadrenaline

0,1,0,1,0,1,0,1

Почему не совпадает
👍3
Ответcybergangster

Почему не совпадает

пропустил глазами, 01001000 неверно посчитанная CRC через crccalc.com. Исправил
👍1

Ответadrenaline

Модуляция бывает двух типов: амплитудная и частотная.

Физику в школе не пропускал, и по книжке всегда были амплитудная и угловая модуляции. (Мгновенная частота по книжке это производная мгновенной фазы).

Ответadrenaline

еще фазовая, но мы ее рассматривать не будем, т.к популярностью для систем управления она не пользуется.

Несколько не согласен, как раз наиболее продвинутые, а следовательно и самые распространённые, управляющие системы использую OQPSK или QAM (всякие "умные дома" с алисами на зигби, WiFi). (Почему же Вы так не любите ФМ:cautious:)

Ответadrenaline

Для разбора я выбрал дамп сигнала, который записал на улице.

ИМХО, чтобы приятно удивить местную разношерстную аудиторию красотой радио и статья в конце имела какой-либо "особо хакерский посыл", то нужно освещать темы связанные с радио-взломом корпоративных сетей, промышленную радио- прослушку/разведку, "жучки", "угон спутников", беспроводной взлом IoT устройств, реверс протоколов передачи с советующими атаками. Понятно, что это уровень на несколько голов выше + дисциплина сама по себе тяжёлая и прикладная, но всё же "игрульки" со шлагбаумами с "флипером" несколько устарели и наверно даже надоели читателю.

Ответadrenaline

На самом деле мест, где можно применить навык из статьи уйма, просто для каждого они свои.

Вижу в этом жалкую попытку актуализировать неактуальное, и откровенно устаревшее. Я согласен, что статья привносит некоторый вклад в "ознакомление", показывает одно из множества направлений атак, но навык конкретно из статьи переоценён.

Ответadrenaline

Масса систем безопасности работает на радио, так что исследуйте и пополняйте список эндпоинтов для атак

Согласен, очень хорошее замечание!

Ответadrenaline

просто для каждого они свои

Прекрасные слова, чтобы описать классический инженерный компромисс.

Подводя итог, отличная статья для того, чтобы немного заглянуть из "классического IT" в RF инжиниринг и посмотреть чем тут ребята занимаются. Выравнивание по центру подходит битовым последовательностям, но для текста немного режет глаз. Жалко, что сломались некоторые картинки. (Если я где-то наврал или неправ - давайте разберёмся!)
👍1
Ответbourbon

Жалко, что сломались некоторые картинки

Какие?
Ответ
Сообщение: cybergangster
Ответbourbon

Жалко, что сломались некоторые картинки

Какие?
Возможно это только у меня, но под поломкой я подразумевал следующее
Не удалось прогрузить медиа
 (один из примеров)
Ответadrenaline

Переводим результат в бинарку

Вот в этом блоке статьи. 
👍2

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.