Pull to refresh
16
0
Олег @nesmit

User

Send message

Выводим сигнал remote из автомагнитолы с управляемым по i2c усилителем

Reading time4 min
Views21K


Сигнал REMOTE (напряжение 12В, которое служит для включения внешних усилителей когда включена магнитола) из современных штатных магнитол вывести не так просто. Если раньше можно было использовать ножку ST-BY микросхемы-усилителя, то теперь разработчики магнитол не используют эту ножку, потому что появились микросхемы-усилители с цифровым управлением.

Можно поискать на плате дорожки, на которых появляется напряжение тогда, когда включается магнитола, но в большинстве случаев они не подходят. Можно подключиться к питанию подсветки дисплея, вот только в этом случае усилитель может включаться незапланированно — до включения встроенного усилителя (что сопровождается щелчками в тракте) или при регулировке климата или при работе парктроника.

Попробую описать другой вариант выхода из положения на примере штатной магнитолы Swing на Skoda Octavia A7
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments8

Исследование защиты Wing IDE

Reading time9 min
Views31K


Доброго здравия! Не удивлюсь, что Вы раньше даже не слышали об этой программе. Как и я, до того дня, когда мне пригодился Python Debugger. Да, знаю, есть pdb, но его функционал и то, как он представлен, мне совершенно не приглянулось. После непродолжительных поисков я наткнулся на этот замечательный продукт. Тут есть все, что может пригодиться в отладке ваших Python приложений (скажу сразу: данный язык я не изучал, поэтому, если какие-то неточности всплывут, просьба не ругаться).
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments52

Транзисторный усилитель класса А своими руками

Reading time6 min
Views257K


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments79

Книги и образовательные ресурсы по алгоритмической торговле

Reading time7 min
Views96K


Алгоритмическая торговля — интересная область, которая позволяет ИТ-специалистам применить свои технические знания на фондовом рынке и извлечь из этого ту или иную выгоду. В нашем блоге мы неоднократно рассматривали различные темы, связанные с созданием торговых роботов, но недостаточно внимания уделяли теоретическим вопросам, с которыми сталкиваются начинающие трейдеры.

В нашем сегодняшнем материале — подборка книг, которые помогут лучше подготовиться к началу работы на фондовом рынке и написанию механических торговых систем. Для достижения наибольшей эффективности материала, мы приводим советы экспертов, которые занимаются алгоритмической торговлей на российском и зарубежных фондовых рынках.
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments22

Писать скрипты для Mikrotik RouterOS — это просто

Reading time6 min
Views220K
RouterOS — сетевая операционная система на базе Linux. Данная операционная система предназначена для установки на аппаратные маршрутизаторы Mikrotik RouterBoard. Также данная система может быть установлена на ПК (или виртуальную машину), превращая его в маршрутизатор. Изначально довольно богатая функционалом ОС нет нет да и удивит отсутствием какой-нибудь нужной фишки из коробки. К сожалению, доступ к Linux-окружению очень сильно ограничен, поэтому, «это есть под Linux» абсолютно не равнозначно «это есть в RouterOS». Но не надо отчаиваться! Эта система предоставляет несколько возможностей для расширения своего функционала. Первая — самая простая и нативная — это возможность писать скрипты на встроенном языке.
В данной статье, в качестве примера будет рассмотрен скрипт, преобразующий DNS-имена в списки IP-адресов (address lists).
Зачем он может быть нужен? Многие сайты используют Round Robin DNS для распределения нагрузки (а некоторые и не только для этого). Чтобы управлять доступом к такому сайту (создать правило маршрутизации или фаервола) нам потребуются все IP-адреса, соответствующие этому доменному имени. Более того список IP-адресов по истечении времени жизни данной DNS-записи (в данном случае речь идёт об A-записи) может быть выдан абсолютно новый, поэтому информацию придётся периодически обновлять. К сожалению в RouterOS нельзя создать правило
блокировать все TCP соединения на порт 80 по адресу example.com
на месте example.com должен быть IP-адрес, но как мы уже поняли, example.com соответствует не один, а несколько IP-адресов. Чтобы избавить нас от мучения создания и поддержки кучи однотипных правил, разработчики RouterOS дали возможность создавать правило так:
блокировать все TCP соединения на порт 80 по любому адресу из списка с именем DenyThis
Дело осталось за малым — автоматически формировать этот самый список. Кто ещё не утомился от моей писанины приглашаю под хабракат.
Читать дальше →
Total votes 29: ↑20 and ↓9+11
Comments67

Бюджетный многозонный усилитель низкой частоты

Reading time5 min
Views95K
image

Вы не можете ни минуты обходиться без любимой музыки? А как быть, если нужно заниматься разнообразными домашними делами, а из кухни или ванной комнаты уже плохо слышны любимые мелодии? Сделать погромче? Все равно качество звука пострадает, а соседи начнут стучать по батареям и названивать в дверь.

Похожая проблема может существовать и в офисе. Программистам и другим работникам умственного труда как правило нужна тишина для концентрации, в то время как на складе или в производственном помещении уровень громкости должен перекрывать повышенный уровень фонового шума.

Выход прост – сделать такую акустическую систему, которая будет звучать в каждом помещении с нужной громкостью без потери качества звука. На первый взгляд эта задача кажется затратной и трудноразрешимой. На самом же деле все очень просто. В предлагаемой к прочтению статье я расскажу о бюджетном подходе для занятых людей. Бюджетном как по затраченным средствам, так и по времени реализации (т.к. известно, что время =деньги).

Подробности
Total votes 25: ↑23 and ↓2+21
Comments29

Как легко расшифровать TLS-трафик от браузера в Wireshark

Reading time2 min
Views157K
Многим из вас знаком Wireshark — анализатор трафика, который помогает понять работу сети, диагностировать проблемы, и вообще умеет кучу вещей.

image

Одна из проблем с тем, как работает Wireshark, заключается в невозможности легко проанализировать зашифрованный трафик, вроде TLS. Раньше вы могли указать Wireshark приватные ключи, если они у вас были, и расшифровывать трафик на лету, но это работало только в том случае, если использовался исключительно RSA. Эта функциональность сломалась из-за того, что люди начали продвигать совершенную прямую секретность (Perfect Forward Secrecy), и приватного ключа стало недостаточно, чтобы получить сессионный ключ, который используется для расшифровки данных. Вторая проблема заключается в том, что приватный ключ не должен или не может быть выгружен с клиента, сервера или HSM (Hardware Security Module), в котором находится. Из-за этого, мне приходилось прибегать к сомнительным ухищрениям с расшифровкой трафика через man-in-the-middle (например, через sslstrip).

Логгирование сессионных ключей спешит на помощь!


Что ж, друзья, сегодня я вам расскажу о способе проще! Оказалось, что Firefox и Development-версия Chrome поддерживают логгирование симметричных сессионных ключей, которые используются для зашифровки трафика, в файл. Вы можете указать этот файл в Wireshark, и (вуаля!) трафик расшифровался. Давайте-ка настроим это дело.
Читать дальше →
Total votes 83: ↑82 and ↓1+81
Comments22

Прототип. От идеи до опытной партии. Литье в силикон

Reading time2 min
Views182K
В прошлой статье я описал мой путь по созданию опытной партии изделия, в ней я литье в силикон отдал на аутсорс. Пока я ждал выполнения моего заказа, потихоньку сам начал осваивать это ремесло. Статья будет полезна тем, у кого допустим есть плата какого-нибудь девайса, но нету красивого корпуса, 3д-печать не подходит по характеристикам, а делать сразу промышленную пресс-форму очень дорого.


Читать дальше →
Total votes 168: ↑166 and ↓2+164
Comments75

Ваш wi-fi расскажет мне, где вы живёте, где работаете и где путешествуете

Reading time3 min
Views146K

Москва вайфайная

Многие знают, что ваши мобильные устройства распространяют информацию об их предыдущих соединениях. Большинство не имеет об этом представления.

Пробы WiFi


Чтобы соединиться с уже известными сетями, которые не сообщают о своём присутствии, все ваши мобильные устройства отправляют пробные пакеты, чтобы найти известные им сети. Эти пакеты можно перехватить, когда телефон включается, или когда он отсоединяется от сети. Для этого используются обычные инструменты — airodump / tcpdump. Пример:

# airodump-ng -w wifi-dump wlan0
# tcpdump -n -l -e -r wifi-dump.cap |
    grep 'Probe Request ([^)]'


Вывод содержит время, MAC-адрес устройства и имя сети. Пример:

16:32:26.628209 BSSID:ff:ff:ff:ff:ff:ff DA:ff:ff:ff:ff:ff:ff SA:50:ea:d6:aa:bb:cc
    Probe Request (SUBWAY) [1.0 2.0 5.5 11.0 Mbit]


То бишь, устройство 50:ea:d6:aa:bb:cc проверяло, есть ли сеть SUBWAY в пределах доступности.

Ну и что тут плохого?


Ну испускают они эти пакеты с именами сетей. Подумаешь.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments51

Удобное использование WPS в Mikrotik

Reading time3 min
Views67K

Защищённая беспроводная сеть без усилий


Начиная с RouterOS v6.25 заявлена поддержка WPS — прекрасной технологии по быстрому подключению клиентов без проблем с длинными паролями. Вопреки распространённой шумихе о проблемах безопасности WPS, при правильной реализации и понимании механизма его работы технология становится отличным помощником в руках сисадмина.

Существуют два вида подключения по WPS — ввод PIN-кода и нажатие кнопки WPS на маршрутизаторе. Атакам подвержена только ранняя реализация с PIN-кодом, этот вид подключения разработчики решили не реализовывать вообще и правильно сделали — никакой возможности для перебора нет. Второй способ подразумевает, что в момент подключения к точке доступа на нём программно или физически нажимается соответствующая кнопка и соединение клиента с точкой происходит полностью автоматически. Именно этот способ мы и будем использовать в своей работе. Под катом детальная инструкция по настройке и использованию WPS на Mikrotik.
Читать дальше →
Total votes 11: ↑7 and ↓4+3
Comments5

Приручаем динозавров, или как я писал свой собственный host controller для лаборатории 3D-печати

Reading time15 min
Views20K


В этой статье я хочу рассказать о своем опыте разработки свободного ПО для управления 3D принтерами на Qt5, проблемах и особенностях общения с RepRap'ами и прочим радостям.

Результатом этого опыта стал RepRaptor — минималистичный свободный host-controller для 3D принтеров.



Всех интересующихся приглашаю под кат.
Много текста обо всем
Total votes 37: ↑35 and ↓2+33
Comments26

Патчим EDID телевизора из-под Linux

Reading time6 min
Views41K
Мой телевизор («старая» модель LG 32LG5000) никогда не работал в Linux. Каждый раз, когда я подключал его через HDMI-порт, ядро сообщало мне ошибку:
kernel: [  869.677850] [drm:drm_edid_block_valid] *ERROR* EDI  has major version 2, instead of 1

и полностью игнорировало его.

Эта проблема меня не сильно-то и беспокоила, т.к. я не часто им пользовался, да и VGA-порт работал, хоть и с максимальным разрешением 1360×768. Однако сегодня, когда я решил посмотреть фильм, качество вывода через VGA было невероятно хреновым, и я решил с этим покончить.

Анализируем EDID


Для тех, кто не знает, EDID — небольшое количество данных, содержащих в себе информацию о возможностях монитора, в основном разрешения и тайминги, которые он поддерживает. Сообщение об ошибке интересно тем, что в нем говорится об EDID 2.0, которого (почти) никогда не существовало. Вот что нам говорит Wikipedia:
Структура EDID имеет версии от v1.0 до v1.4 размером в 128 байт, каждая последующая версия обратно совместима с предыдущей. Структура EDID v2.0 была размером 256 байт, однако позже была объявлена устаревшей и на замену ей пришла v1.3.

Похоже, EDID 2.0 был объявлен устаревшим где-то в 2000. Довольно забавно, что ТВ 2008 года использовал именно эту версию.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments22

Реализация универсального аквариумного контроллера

Reading time9 min
Views96K
image

В последующем изложении хотел бы продемонстрировать и поделиться своими наработками по аквариумному контроллеру. На мой взгляд, тематика весьма востребована среди аквариумистов, но далеко не все аспекты и проблемы рассмотрены. Возможно, кого-то что-либо заинтересует, или кто-то захочет повторить конструкцию, поэтому в теме прилагаются все необходимые файлы. Для тех, кому захочется покопаться в программной составляющей устройства прилагаются все исходники.
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments55

Экономим электричество или таймер времени для ночного тарифа в электросетях

Reading time30 min
Views84K
Как часто вам приходится настраивать различные таймеры? Будильник на смартфоне, таймер на хлебопечке, чтобы к завтраку был свежий хлеб, да и мало ли когда нужно что-то начать. Не менее важной оказывается задача вовремя отключить или закончить действие.

Так я столкнулся с задачей автоматизации включения и отключения электроприбора. Можно было бы воспользоваться типовой розеткой с реле времени, но включать надо необычную нагрузку, поэтому контроллер и только контроллер.

Итак, стоит задача включать электрический котел отопления для обогрева дома в ночной период времени, когда тарификация хоть немного щадящая. Что из этого получилось — смотрите ниже.

image
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments76

Восстанавливаем локальные и доменные пароли из hiberfil.sys

Reading time2 min
Views112K
Утилита mimikatz, позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо хорошо освещённого функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

Подготовка


Для осуществления задуманного нам понадобятся следующие утилиты:
Читать дальше →
Total votes 74: ↑73 and ↓1+72
Comments60

Уязвимости и бэкдоры в телефонах Grandstream

Reading time3 min
Views18K
Хочу поделиться парой серьёзных уязвимостей, найденных мною в телефонных аппаратах Grandstream.

1. Загрузка произвольного конфига в телефон

Изучая веб интерфейс цветных телефонов gxp21xx для изучения их api, наткнулся на скрипт загрузки конфига в телефон, это скрипт /cgi-bin/upload_cfg

В отличии от других скриптов, этому скрипту не передаётся sessionid, а передаётся только файл. Быстрая проверка через curl показала, что и вправду, воспользоваться этим скриптом можно без авторизации:

curl -i -F name="config.txt" -F file="@config.txt;type=text/plain" -H "Content-Disposition: form-data; name=file; filename=config.txt" http://xx.xx.xx.xx/cgi-bin/upload_cfg

Файл config.txt представляет из себя тектовый файл с набором параметров вида: Рхххх=уууу
Заливая файл с одной строчкой «P2=admin», мы меняем админский пароль на телефоне, после чего можем залогиниться в веб интерфейс.

В телефоне присутствуют аналогичные скрипты для загрузки воллпейпера, телефонной книги и т.д.

Данная узязвимость присутствует в телефонах gxp2130, gxp2140 и gxp2160
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments28

Запуск OpenWRT 14.07 на Mikrotik и пример сборки Аsterisk c дополнительным модулем

Reading time3 min
Views46K

       В интернете много статей по запуску openwrt на устройствах Mikrotik через metarouter. Во всех них для сборки используется ревизия r29684 с официальным патчем, поддерживающим процессоры(устройства RB400, RB700 series, RB900 series, RB2011 boards, RB1000, RB1100, RB1100AH and RB800). Для более поздних версий данный патч уже не подходит. Из этого следует то, что все пакеты openwrt достаточно старые и собрать обновленное ПО почти нереально. А в новых версиях openwrt появилось много новых пакетов и библиотек.
       Поискав в интернете, не получилось ли у кого запустить свежий openwrt под metarouter, наткнулся на нужную заметку. Данная статья как раз полностью копирует ее содержание, плюс маленький бонус по сборке пакетов. Приступим (пример для debian\ubuntu систем):
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments15

Реверс-инжиниринг протокола парктроника. Танец маленьких бит

Reading time12 min
Views61K
Привет, хабр!

В попытках свести все жизненные рабочие показатели своего автомобиля на один экран головного устройства дошла очередь и до подключения парктроника. Многие возразят — ведь даже у дешевых парктроников есть свой экранчик, зачем выводить данные куда-то ещё? Да просто лишний экранчик в салоне ставить не хочется, и покопаться в железе повод есть…

В статье постараюсь описать приёмы и инструменты для реверс-инжиниринга недокументированного протокола обмена двух железок между собой.
Читать дальше →
Total votes 113: ↑113 and ↓0+113
Comments29

Raspberry и Telegram: предпосылки создания умного дома

Reading time3 min
Views87K


Один итальянский магазинчик нащупал новые способы использования Телеграма (и ранее WhatsApp'а), установив его на одноплатный миниатюрный компьютер Raspberry Pi. Как выясняется, мессенджер можно использовать для удалённого общения с собственной техникой. Ниже – перевод статей (1, 2) с сайта Instructables.com. Если есть уточнения по переводу, напишите об этом в комментариях.

Читать дальше →
Total votes 52: ↑44 and ↓8+36
Comments62

Встраивание в ядро Linux: перехват системных вызовов

Reading time17 min
Views26K
Под термином «системный вызов» в программировании и вычислительной технике понимается обращение прикладной программы к ядру операционной системы (ОС) для выполнения какой-либо операции. Ввиду того что такое взаимодействие является основным, перехват системных вызовов представляется важнейшим этапом встраивания, т.к. позволяет осуществлять контроль ключевого компонента ядра ОС — интерфейса системных вызовов, что, в свою очередь, даёт возможность инспектировать запросы прикладного ПО к сервисам ядра.

Данная статья является продолжением анонсированного ранее цикла, посвящённого частным вопросам реализации наложенных средств защиты, и, в частности, встраиванию в программные системы.

Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments8

Information

Rating
Does not participate
Location
Домодедово, Москва и Московская обл., Россия
Date of birth
Registered
Activity